Add a test that xml.sax.saxutils.XMLGenerator does the right thing
when quoting attribute values that contain single & double quotes.
This provides the rest of the regression test for SF bug #440351.
diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py
index 62705c9..dcf57d4 100644
--- a/Lib/test/test_sax.py
+++ b/Lib/test/test_sax.py
@@ -149,6 +149,22 @@
return result.getvalue() == start + "<doc><huhei&</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=\"'"\"></e></doc>"
+
def test_xmlgen_ignorable():
result = StringIO()
gen = XMLGenerator(result)