test_pyexpat
OK.
OK.
OK.
OK.
PI:
	'xml-stylesheet' 'href="stylesheet.css"'
Comment:
	' comment data '
Notation declared: ('notation', None, 'notation.jpeg', None)
Unparsed entity decl:
	('unparsed_entity', None, 'entity.file', None, 'notation')
Start element:
	'root' {'attr1': 'value1', 'attr2': 'value2\xe1\xbd\x80'}
NS decl:
	'myns' 'http://www.python.org/namespace'
Start element:
	'http://www.python.org/namespace!subelement' {}
Character data:
	'Contents of subelements'
End element:
	'http://www.python.org/namespace!subelement'
End of NS decl:
	'myns'
Start element:
	'sub2' {}
Start of CDATA section
Character data:
	'contents of CDATA section'
End of CDATA section
End element:
	'sub2'
External entity ref: (None, 'entity.file', None)
End element:
	'root'
PI:
	u'xml-stylesheet' u'href="stylesheet.css"'
Comment:
	u' comment data '
Notation declared: (u'notation', None, u'notation.jpeg', None)
Unparsed entity decl:
	(u'unparsed_entity', None, u'entity.file', None, u'notation')
Start element:
	u'root' {u'attr1': u'value1', u'attr2': u'value2\u1f40'}
NS decl:
	u'myns' u'http://www.python.org/namespace'
Start element:
	u'http://www.python.org/namespace!subelement' {}
Character data:
	u'Contents of subelements'
End element:
	u'http://www.python.org/namespace!subelement'
End of NS decl:
	u'myns'
Start element:
	u'sub2' {}
Start of CDATA section
Character data:
	u'contents of CDATA section'
End of CDATA section
End element:
	u'sub2'
External entity ref: (None, u'entity.file', None)
End element:
	u'root'
PI:
	u'xml-stylesheet' u'href="stylesheet.css"'
Comment:
	u' comment data '
Notation declared: (u'notation', None, u'notation.jpeg', None)
Unparsed entity decl:
	(u'unparsed_entity', None, u'entity.file', None, u'notation')
Start element:
	u'root' {u'attr1': u'value1', u'attr2': u'value2\u1f40'}
NS decl:
	u'myns' u'http://www.python.org/namespace'
Start element:
	u'http://www.python.org/namespace!subelement' {}
Character data:
	u'Contents of subelements'
End element:
	u'http://www.python.org/namespace!subelement'
End of NS decl:
	u'myns'
Start element:
	u'sub2' {}
Start of CDATA section
Character data:
	u'contents of CDATA section'
End of CDATA section
End element:
	u'sub2'
External entity ref: (None, u'entity.file', None)
End element:
	u'root'

Testing constructor for proper handling of namespace_separator values:
Legal values tested o.k.
Caught expected TypeError:
ParserCreate() argument 2 must be string or None, not int
Caught expected ValueError:
namespace_separator must be one character, omitted, or None
Caught expected ValueError:
namespace_separator must be one character, omitted, or None
