diff options
author | Mike Hommey <mh@glandium.org> | 2004-03-25 06:59:32 +0000 |
---|---|---|
committer | Mike Hommey <mh@glandium.org> | 2004-03-25 06:59:32 +0000 |
commit | d09ab089457ae3c20cc98f9afa03379c6ebf9598 (patch) | |
tree | f34702d634972abbc1b478a4529149b548a1cd4c /python/tests/serialize.py | |
download | libxml2-d09ab089457ae3c20cc98f9afa03379c6ebf9598.tar.gz |
[svn-inject] Installing original source versionupstream/2.6.8
Diffstat (limited to 'python/tests/serialize.py')
-rwxr-xr-x | python/tests/serialize.py | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/python/tests/serialize.py b/python/tests/serialize.py new file mode 100755 index 0000000..5b969a9 --- /dev/null +++ b/python/tests/serialize.py @@ -0,0 +1,150 @@ +#!/usr/bin/python -u +import sys +import libxml2 + +# Memory debug specific +libxml2.debugMemory(1) + +# +# Testing XML document serialization +# +doc = libxml2.parseDoc("""<root><foo>hello</foo></root>""") +str = doc.serialize() +if str != """<?xml version="1.0"?> +<root><foo>hello</foo></root> +""": + print "error serializing XML document 1" + sys.exit(1) +str = doc.serialize("iso-8859-1") +if str != """<?xml version="1.0" encoding="iso-8859-1"?> +<root><foo>hello</foo></root> +""": + print "error serializing XML document 2" + sys.exit(1) +str = doc.serialize(format=1) +if str != """<?xml version="1.0"?> +<root> + <foo>hello</foo> +</root> +""": + print "error serializing XML document 3" + sys.exit(1) +str = doc.serialize("iso-8859-1", 1) +if str != """<?xml version="1.0" encoding="iso-8859-1"?> +<root> + <foo>hello</foo> +</root> +""": + print "error serializing XML document 4" + sys.exit(1) + +# +# Test serializing a subnode +# +root = doc.getRootElement() +str = root.serialize() +if str != """<root><foo>hello</foo></root>""": + print "error serializing XML root 1" + sys.exit(1) +str = root.serialize("iso-8859-1") +if str != """<root><foo>hello</foo></root>""": + print "error serializing XML root 2" + sys.exit(1) +str = root.serialize(format=1) +if str != """<root> + <foo>hello</foo> +</root>""": + print "error serializing XML root 3" + sys.exit(1) +str = root.serialize("iso-8859-1", 1) +if str != """<root> + <foo>hello</foo> +</root>""": + print "error serializing XML root 4" + sys.exit(1) +doc.freeDoc() + +# +# Testing HTML document serialization +# +doc = libxml2.htmlParseDoc("""<html><head><title>Hello</title><body><p>hello</body></html>""", None) +str = doc.serialize() +if str != """<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<html><head><title>Hello</title></head><body><p>hello</p></body></html> +""": + print "error serializing HTML document 1" + sys.exit(1) +str = doc.serialize("ISO-8859-1") +if str != """<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Hello</title></head><body><p>hello</p></body></html> +""": + print "error serializing HTML document 2" + sys.exit(1) +str = doc.serialize(format=1) +if str != """<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Hello</title> +</head> +<body><p>hello</p></body> +</html> +""": + print "error serializing HTML document 3" + sys.exit(1) +str = doc.serialize("iso-8859-1", 1) +if str != """<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<title>Hello</title> +</head> +<body><p>hello</p></body> +</html> +""": + print "error serializing HTML document 4" + sys.exit(1) + +# +# Test serializing a subnode +# +doc.htmlSetMetaEncoding(None) +root = doc.getRootElement() +str = root.serialize() +if str != """<html><head><title>Hello</title></head><body><p>hello</p></body></html>""": + print "error serializing HTML root 1" + sys.exit(1) +str = root.serialize("ISO-8859-1") +if str != """<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Hello</title></head><body><p>hello</p></body></html>""": + print "error serializing HTML root 2" + sys.exit(1) +str = root.serialize(format=1) +if str != """<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Hello</title> +</head> +<body><p>hello</p></body> +</html>""": + print "error serializing HTML root 3" + sys.exit(1) +str = root.serialize("iso-8859-1", 1) +if str != """<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<title>Hello</title> +</head> +<body><p>hello</p></body> +</html>""": + print "error serializing HTML root 4" + sys.exit(1) + +doc.freeDoc() + +# Memory debug specific +libxml2.cleanupParser() +if libxml2.debugMemory(1) == 0: + print "OK" +else: + print "Memory leak %d bytes" % (libxml2.debugMemory(1)) + libxml2.dumpMemory() |