Blame python/tests/serialize.py

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()