]> granicus.if.org Git - python/commitdiff
Add a test that xml.sax.saxutils.XMLGenerator does the right thing
authorFred Drake <fdrake@acm.org>
Tue, 7 Aug 2001 19:17:06 +0000 (19:17 +0000)
committerFred Drake <fdrake@acm.org>
Tue, 7 Aug 2001 19:17:06 +0000 (19:17 +0000)
when quoting attribute values that contain single & double quotes.

This provides the rest of the regression test for SF bug #440351.

Lib/test/output/test_sax
Lib/test/test_sax.py

index b14cf94812d6bf5e4fd6df2347df44cb4fc56030..8aa5a77c2f97a98c08d595ff0bce565a63f613fe 100644 (file)
@@ -29,10 +29,11 @@ Passed test_nsattrs_wattr
 Passed test_quoteattr_basic
 Passed test_single_double_quoteattr
 Passed test_single_quoteattr
+Passed test_xmlgen_attr_escape
 Passed test_xmlgen_basic
 Passed test_xmlgen_content
 Passed test_xmlgen_content_escape
 Passed test_xmlgen_ignorable
 Passed test_xmlgen_ns
 Passed test_xmlgen_pi
-36 tests, 0 failures
+37 tests, 0 failures
index 62705c9bcaf7a0f3522b374afee096ac8e3f3aff..dcf57d4526a5e8ec71dcb56c7b71742baba2320c 100644 (file)
@@ -149,6 +149,22 @@ def test_xmlgen_content_escape():
 
     return result.getvalue() == start + "<doc>&lt;huhei&amp;</doc>"
 
+def test_xmlgen_attr_escape():
+    result = StringIO()
+    gen = XMLGenerator(result)
+
+    gen.startDocument()
+    gen.startElement("doc", {"a": '"'})
+    gen.startElement("e", {"a": "'"})
+    gen.endElement("e")
+    gen.startElement("e", {"a": "'\""})
+    gen.endElement("e")
+    gen.endElement("doc")
+    gen.endDocument()
+
+    return result.getvalue() == start \
+           + "<doc a='\"'><e a=\"'\"></e><e a=\"'&quot;\"></e></doc>"
+
 def test_xmlgen_ignorable():
     result = StringIO()
     gen = XMLGenerator(result)