]> granicus.if.org Git - python/commitdiff
add tests that make sure buffer boundaries are handled properly for SGML comments
authorFred Drake <fdrake@acm.org>
Wed, 8 Sep 2004 22:57:01 +0000 (22:57 +0000)
committerFred Drake <fdrake@acm.org>
Wed, 8 Sep 2004 22:57:01 +0000 (22:57 +0000)
(see SF patch #901369)

Lib/test/test_htmlparser.py
Lib/test/test_sgmllib.py

index ffd3ebc124eb3cd4441cc5fa099985f246ba9892..4cb87dfc215a24772991807f140f0d91478c85cc 100755 (executable)
@@ -243,6 +243,19 @@ DOCTYPE html [
         self._run_check(["<a b='>", "'>"], output)
         self._run_check(["<a b='>'", ">"], output)
 
+        output = [("comment", "abc")]
+        self._run_check(["", "<!--abc-->"], output)
+        self._run_check(["<", "!--abc-->"], output)
+        self._run_check(["<!", "--abc-->"], output)
+        self._run_check(["<!-", "-abc-->"], output)
+        self._run_check(["<!--", "abc-->"], output)
+        self._run_check(["<!--a", "bc-->"], output)
+        self._run_check(["<!--ab", "c-->"], output)
+        self._run_check(["<!--abc", "-->"], output)
+        self._run_check(["<!--abc-", "->"], output)
+        self._run_check(["<!--abc--", ">"], output)
+        self._run_check(["<!--abc-->", ""], output)
+
     def test_starttag_junk_chars(self):
         self._parse_error("</>")
         self._parse_error("</$>")
index 6a77e076fabff32d38f63906cfffbd3249a3b2d2..bc25bd0195cf9bc2e1166377cecbc0f901a38006 100644 (file)
@@ -307,6 +307,19 @@ DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01//EN'
         self.check_events(["<a b='>", "'>"], output)
         self.check_events(["<a b='>'", ">"], output)
 
+        output = [("comment", "abc")]
+        self._run_check(["", "<!--abc-->"], output)
+        self._run_check(["<", "!--abc-->"], output)
+        self._run_check(["<!", "--abc-->"], output)
+        self._run_check(["<!-", "-abc-->"], output)
+        self._run_check(["<!--", "abc-->"], output)
+        self._run_check(["<!--a", "bc-->"], output)
+        self._run_check(["<!--ab", "c-->"], output)
+        self._run_check(["<!--abc", "-->"], output)
+        self._run_check(["<!--abc-", "->"], output)
+        self._run_check(["<!--abc--", ">"], output)
+        self._run_check(["<!--abc-->", ""], output)
+
     def _test_starttag_junk_chars(self):
         self.check_parse_error("<")
         self.check_parse_error("<>")