@@ -344,6 +344,14 @@ def testUnicodeInputString(self):
344344 self .assertEqual (create (u'x' , '\xce \xb4 ' .decode ('utf-8' )).to_string (),
345345 '<x>δ</x>' )
346346
347+ def testUnicodeTagsAndAttributes (self ):
348+ # Begin with test to show underlying ElementTree behavior.
349+ t = ElementTree .fromstring (u'<del\u03b4 ta>test</del\u03b4 ta>' .encode ('utf-8' ))
350+ self .assertEqual (t .tag , u'del\u03b4 ta' )
351+ self .assertEqual (parse (u'<\u03b4 elta>test</\u03b4 elta>' )._qname ,
352+ u'\u03b4 elta' )
353+ #self.assertEqual(parse(u'<\u03b4elta>test</\u03b4elta>').to_string(),
354+ # '<δelta>test</δelta>')
347355
348356 def testUtf8InputString (self ):
349357 # Test parsing inner text.
@@ -367,6 +375,12 @@ def testUtf8InputString(self):
367375 self .assertEqual (create ('x' , u'\u03b4 ' .encode ('utf-8' )).to_string (),
368376 '<x>δ</x>' )
369377
378+ def testUtf8TagsAndAttributes (self ):
379+ self .assertEqual (
380+ parse (u'<\u03b4 elta>test</\u03b4 elta>' .encode ('utf-8' ))._qname ,
381+ u'\u03b4 elta' )
382+ self .assertEqual (parse ('<\xce \xb4 elta>test</\xce \xb4 elta>' )._qname ,
383+ u'\u03b4 elta' )
370384
371385
372386 def testOtherEncodingOnInputString (self ):
@@ -387,7 +401,11 @@ def testOtherEncodingOnInputString(self):
387401 self .assertEqual (
388402 create ('x' , '\xff \xfe \xb4 \x03 ' ).to_string (encoding = 'utf-16' ),
389403 '<x>δ</x>' )
390-
404+
405+ def testOtherEncodingInTagsAndAttributes (self ):
406+ self .assertEqual (
407+ parse (u'<\u03b4 elta>test</\u03b4 elta>' .encode ('utf-16' ))._qname ,
408+ u'\u03b4 elta' )
391409
392410
393411def suite ():
0 commit comments