diff options
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_bz2.py | 9 | ||||
-rw-r--r-- | Lib/test/test_htmlparser.py | 30 | ||||
-rw-r--r-- | Lib/test/test_lzma.py | 9 |
3 files changed, 48 insertions, 0 deletions
diff --git a/Lib/test/test_bz2.py b/Lib/test/test_bz2.py index 0f8d149..cc416ed 100644 --- a/Lib/test/test_bz2.py +++ b/Lib/test/test_bz2.py @@ -372,6 +372,15 @@ class BZ2FileTest(BaseTest): bz2f.close() self.assertRaises(ValueError, bz2f.seekable) + src = BytesIO(self.DATA) + src.seekable = lambda: False + bz2f = BZ2File(fileobj=src) + try: + self.assertFalse(bz2f.seekable()) + finally: + bz2f.close() + self.assertRaises(ValueError, bz2f.seekable) + def testReadable(self): bz2f = BZ2File(fileobj=BytesIO(self.DATA)) try: diff --git a/Lib/test/test_htmlparser.py b/Lib/test/test_htmlparser.py index 8c2e25e..7af9131 100644 --- a/Lib/test/test_htmlparser.py +++ b/Lib/test/test_htmlparser.py @@ -323,6 +323,23 @@ DOCTYPE html [ ("endtag", element_lower)], collector=Collector()) + def test_comments(self): + html = ("<!-- I'm a valid comment -->" + '<!--me too!-->' + '<!------>' + '<!---->' + '<!----I have many hyphens---->' + '<!-- I have a > in the middle -->' + '<!-- and I have -- in the middle! -->') + expected = [('comment', " I'm a valid comment "), + ('comment', 'me too!'), + ('comment', '--'), + ('comment', ''), + ('comment', '--I have many hyphens--'), + ('comment', ' I have a > in the middle '), + ('comment', ' and I have -- in the middle! ')] + self._run_check(html, expected) + def test_condcoms(self): html = ('<!--[if IE & !(lte IE 8)]>aren\'t<![endif]-->' '<!--[if IE 8]>condcoms<![endif]-->' @@ -426,6 +443,19 @@ class HTMLParserTolerantTestCase(HTMLParserStrictTestCase): # see #12888 self.assertEqual(p.unescape('{ ' * 1050), '{ ' * 1050) + def test_broken_comments(self): + html = ('<! not really a comment >' + '<! not a comment either -->' + '<! -- close enough -->' + '<!!! another bogus comment !!!>') + expected = [ + ('comment', ' not really a comment '), + ('comment', ' not a comment either --'), + ('comment', ' -- close enough --'), + ('comment', '!! another bogus comment !!!'), + ] + self._run_check(html, expected) + def test_broken_condcoms(self): # these condcoms are missing the '--' after '<!' and before the '>' html = ('<![if !(IE)]>broken condcom<![endif]>' diff --git a/Lib/test/test_lzma.py b/Lib/test/test_lzma.py index 8d3df92..ffde557 100644 --- a/Lib/test/test_lzma.py +++ b/Lib/test/test_lzma.py @@ -525,6 +525,15 @@ class FileTestCase(unittest.TestCase): f.close() self.assertRaises(ValueError, f.seekable) + src = BytesIO(COMPRESSED_XZ) + src.seekable = lambda: False + f = LZMAFile(fileobj=src) + try: + self.assertFalse(f.seekable()) + finally: + f.close() + self.assertRaises(ValueError, f.seekable) + def test_readable(self): f = LZMAFile(fileobj=BytesIO(COMPRESSED_XZ)) try: |