|
Packit Service |
a31ea6 |
#!/usr/bin/python -u
|
|
Packit Service |
a31ea6 |
import sys
|
|
Packit Service |
a31ea6 |
import libxml2
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
# Memory debug specific
|
|
Packit Service |
a31ea6 |
libxml2.debugMemory(1)
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
#
|
|
Packit Service |
a31ea6 |
# Testing XML document serialization
|
|
Packit Service |
a31ea6 |
#
|
|
Packit Service |
a31ea6 |
doc = libxml2.parseDoc("""<root><foo>hello</foo></root>""")
|
|
Packit Service |
a31ea6 |
str = doc.serialize()
|
|
Packit Service |
a31ea6 |
if str != """
|
|
Packit Service |
a31ea6 |
<root><foo>hello</foo></root>
|
|
Packit Service |
a31ea6 |
""":
|
|
Packit Service |
a31ea6 |
print("error serializing XML document 1")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = doc.serialize("iso-8859-1")
|
|
Packit Service |
a31ea6 |
if str != """
|
|
Packit Service |
a31ea6 |
<root><foo>hello</foo></root>
|
|
Packit Service |
a31ea6 |
""":
|
|
Packit Service |
a31ea6 |
print("error serializing XML document 2")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = doc.serialize(format=1)
|
|
Packit Service |
a31ea6 |
if str != """
|
|
Packit Service |
a31ea6 |
<root>
|
|
Packit Service |
a31ea6 |
<foo>hello</foo>
|
|
Packit Service |
a31ea6 |
</root>
|
|
Packit Service |
a31ea6 |
""":
|
|
Packit Service |
a31ea6 |
print("error serializing XML document 3")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = doc.serialize("iso-8859-1", 1)
|
|
Packit Service |
a31ea6 |
if str != """
|
|
Packit Service |
a31ea6 |
<root>
|
|
Packit Service |
a31ea6 |
<foo>hello</foo>
|
|
Packit Service |
a31ea6 |
</root>
|
|
Packit Service |
a31ea6 |
""":
|
|
Packit Service |
a31ea6 |
print("error serializing XML document 4")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
#
|
|
Packit Service |
a31ea6 |
# Test serializing a subnode
|
|
Packit Service |
a31ea6 |
#
|
|
Packit Service |
a31ea6 |
root = doc.getRootElement()
|
|
Packit Service |
a31ea6 |
str = root.serialize()
|
|
Packit Service |
a31ea6 |
if str != """<root><foo>hello</foo></root>""":
|
|
Packit Service |
a31ea6 |
print("error serializing XML root 1")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = root.serialize("iso-8859-1")
|
|
Packit Service |
a31ea6 |
if str != """<root><foo>hello</foo></root>""":
|
|
Packit Service |
a31ea6 |
print("error serializing XML root 2")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = root.serialize(format=1)
|
|
Packit Service |
a31ea6 |
if str != """<root>
|
|
Packit Service |
a31ea6 |
<foo>hello</foo>
|
|
Packit Service |
a31ea6 |
</root>""":
|
|
Packit Service |
a31ea6 |
print("error serializing XML root 3")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = root.serialize("iso-8859-1", 1)
|
|
Packit Service |
a31ea6 |
if str != """<root>
|
|
Packit Service |
a31ea6 |
<foo>hello</foo>
|
|
Packit Service |
a31ea6 |
</root>""":
|
|
Packit Service |
a31ea6 |
print("error serializing XML root 4")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
doc.freeDoc()
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
#
|
|
Packit Service |
a31ea6 |
# Testing HTML document serialization
|
|
Packit Service |
a31ea6 |
#
|
|
Packit Service |
a31ea6 |
doc = libxml2.htmlParseDoc("""<html><head><title>Hello</title><body>hello</body></html>""", None)
|
|
Packit Service |
a31ea6 |
str = doc.serialize()
|
|
Packit Service |
a31ea6 |
if str != """
|
|
Packit Service |
a31ea6 |
<html><head><title>Hello</title></head><body>hello </body></html>
|
|
Packit Service |
a31ea6 |
""":
|
|
Packit Service |
a31ea6 |
print("error serializing HTML document 1")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = doc.serialize("ISO-8859-1")
|
|
Packit Service |
a31ea6 |
if str != """
|
|
Packit Service |
a31ea6 |
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Hello</title></head><body>hello </body></html>
|
|
Packit Service |
a31ea6 |
""":
|
|
Packit Service |
a31ea6 |
print("error serializing HTML document 2")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = doc.serialize(format=1)
|
|
Packit Service |
a31ea6 |
if str != """
|
|
Packit Service |
a31ea6 |
<html>
|
|
Packit Service |
a31ea6 |
<head>
|
|
Packit Service |
a31ea6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
Packit Service |
a31ea6 |
<title>Hello</title>
|
|
Packit Service |
a31ea6 |
</head>
|
|
Packit Service |
a31ea6 |
<body>hello </body>
|
|
Packit Service |
a31ea6 |
</html>
|
|
Packit Service |
a31ea6 |
""":
|
|
Packit Service |
a31ea6 |
print("error serializing HTML document 3")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = doc.serialize("iso-8859-1", 1)
|
|
Packit Service |
a31ea6 |
if str != """
|
|
Packit Service |
a31ea6 |
<html>
|
|
Packit Service |
a31ea6 |
<head>
|
|
Packit Service |
a31ea6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
Packit Service |
a31ea6 |
<title>Hello</title>
|
|
Packit Service |
a31ea6 |
</head>
|
|
Packit Service |
a31ea6 |
<body>hello </body>
|
|
Packit Service |
a31ea6 |
</html>
|
|
Packit Service |
a31ea6 |
""":
|
|
Packit Service |
a31ea6 |
print("error serializing HTML document 4")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
#
|
|
Packit Service |
a31ea6 |
# Test serializing a subnode
|
|
Packit Service |
a31ea6 |
#
|
|
Packit Service |
a31ea6 |
doc.htmlSetMetaEncoding(None)
|
|
Packit Service |
a31ea6 |
root = doc.getRootElement()
|
|
Packit Service |
a31ea6 |
str = root.serialize()
|
|
Packit Service |
a31ea6 |
if str != """<html><head><title>Hello</title></head><body>hello </body></html>""":
|
|
Packit Service |
a31ea6 |
print("error serializing HTML root 1")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = root.serialize("ISO-8859-1")
|
|
Packit Service |
a31ea6 |
if str != """<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Hello</title></head><body>hello </body></html>""":
|
|
Packit Service |
a31ea6 |
print("error serializing HTML root 2")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = root.serialize(format=1)
|
|
Packit Service |
a31ea6 |
if str != """<html>
|
|
Packit Service |
a31ea6 |
<head>
|
|
Packit Service |
a31ea6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
Packit Service |
a31ea6 |
<title>Hello</title>
|
|
Packit Service |
a31ea6 |
</head>
|
|
Packit Service |
a31ea6 |
<body>hello </body>
|
|
Packit Service |
a31ea6 |
</html>""":
|
|
Packit Service |
a31ea6 |
print("error serializing HTML root 3")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
str = root.serialize("iso-8859-1", 1)
|
|
Packit Service |
a31ea6 |
if str != """<html>
|
|
Packit Service |
a31ea6 |
<head>
|
|
Packit Service |
a31ea6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
Packit Service |
a31ea6 |
<title>Hello</title>
|
|
Packit Service |
a31ea6 |
</head>
|
|
Packit Service |
a31ea6 |
<body>hello </body>
|
|
Packit Service |
a31ea6 |
</html>""":
|
|
Packit Service |
a31ea6 |
print("error serializing HTML root 4")
|
|
Packit Service |
a31ea6 |
sys.exit(1)
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
doc.freeDoc()
|
|
Packit Service |
a31ea6 |
|
|
Packit Service |
a31ea6 |
# Memory debug specific
|
|
Packit Service |
a31ea6 |
libxml2.cleanupParser()
|
|
Packit Service |
a31ea6 |
if libxml2.debugMemory(1) == 0:
|
|
Packit Service |
a31ea6 |
print("OK")
|
|
Packit Service |
a31ea6 |
else:
|
|
Packit Service |
a31ea6 |
print("Memory leak %d bytes" % (libxml2.debugMemory(1)))
|
|
Packit Service |
a31ea6 |
libxml2.dumpMemory()
|