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/output/test_sax b/Lib/test/output/test_sax
index b14cf94..8aa5a77 100644
--- a/Lib/test/output/test_sax
+++ b/Lib/test/output/test_sax
@@ -29,10 +29,11 @@
 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
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>&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)