From 914b2de6f5a6434da910b401faadea4a81446f91 Mon Sep 17 00:00:00 2001 From: jvoisin <julien.voisin@dustri.org> Date: Fri, 8 Feb 2019 22:56:07 +0100 Subject: [PATCH] Bump coverage --- libmat2/html.py | 4 +++- tests/data/dirty.html | 1 + tests/test_corrupted_files.py | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/libmat2/html.py b/libmat2/html.py index 31fb625..d0e9a2b 100644 --- a/libmat2/html.py +++ b/libmat2/html.py @@ -36,7 +36,9 @@ class _HTMLParser(parser.HTMLParser): self.__validation_queue.append(tag) def handle_endtag(self, tag: str): - if tag != self.__validation_queue.pop(): + if not self.__validation_queue: + raise ValueError + elif tag != self.__validation_queue.pop(): raise ValueError # There is no `get_endtag_text()` method :/ self.__textrepr += '</' + tag + '>\n' diff --git a/tests/data/dirty.html b/tests/data/dirty.html index 563888f..1aa1723 100644 --- a/tests/data/dirty.html +++ b/tests/data/dirty.html @@ -8,6 +8,7 @@ <h1>Hello</h1> I am a web page. Please <b>love</b> me. + Here, have a pretty picture: <img src='dirty.jpg' alt='a pretty picture'/> </p> </body> </html> diff --git a/tests/test_corrupted_files.py b/tests/test_corrupted_files.py index 2073d8c..8728cb2 100644 --- a/tests/test_corrupted_files.py +++ b/tests/test_corrupted_files.py @@ -252,3 +252,20 @@ class TestCorruptedFiles(unittest.TestCase): os.remove('./tests/data/clean.html') os.remove('./tests/data/clean.cleaned.html') + with open('./tests/data/clean.html', 'w') as f: + f.write('</close>') + with self.assertRaises(ValueError): + html.HTMLParser('./tests/data/clean.html') + os.remove('./tests/data/clean.html') + + with open('./tests/data/clean.html', 'w') as f: + f.write('<notclosed>') + p = html.HTMLParser('./tests/data/clean.html') + with self.assertRaises(ValueError): + p.get_meta() + p = html.HTMLParser('./tests/data/clean.html') + with self.assertRaises(ValueError): + p.remove_all() + os.remove('./tests/data/clean.html') + + -- GitLab