Tryag File Manager
Home
-
Turbo Force
Current Path :
/
proc
/
self
/
root
/
usr
/
share
/
doc
/
libxml2-python-2.6.26
/
Upload File :
New :
File
Dir
//proc/self/root/usr/share/doc/libxml2-python-2.6.26/outbuf.py
#!/usr/bin/python -u import sys import libxml2 import StringIO def testSimpleBufferWrites(): f = StringIO.StringIO() buf = libxml2.createOutputBuffer(f, "ISO-8859-1") buf.write(3, "foo") buf.writeString("bar") buf.close() if f.getvalue() != "foobar": print "Failed to save to StringIO" sys.exit(1) def testSaveDocToBuffer(): """ Regression test for bug #154294. """ input = '<foo>Hello</foo>' expected = '''\ <?xml version="1.0" encoding="UTF-8"?> <foo>Hello</foo> ''' f = StringIO.StringIO() buf = libxml2.createOutputBuffer(f, 'UTF-8') doc = libxml2.parseDoc(input) doc.saveFileTo(buf, 'UTF-8') doc.freeDoc() if f.getvalue() != expected: print 'xmlDoc.saveFileTo() call failed.' print ' got: %s' % repr(f.getvalue()) print 'expected: %s' % repr(expected) sys.exit(1) def testSaveFormattedDocToBuffer(): input = '<outer><inner>Some text</inner><inner/></outer>' # The formatted and non-formatted versions of the output. expected = ('''\ <?xml version="1.0" encoding="UTF-8"?> <outer><inner>Some text</inner><inner/></outer> ''', '''\ <?xml version="1.0" encoding="UTF-8"?> <outer> <inner>Some text</inner> <inner/> </outer> ''') doc = libxml2.parseDoc(input) for i in (0, 1): f = StringIO.StringIO() buf = libxml2.createOutputBuffer(f, 'UTF-8') doc.saveFormatFileTo(buf, 'UTF-8', i) if f.getvalue() != expected[i]: print 'xmlDoc.saveFormatFileTo() call failed.' print ' got: %s' % repr(f.getvalue()) print 'expected: %s' % repr(expected[i]) sys.exit(1) doc.freeDoc() def testSaveIntoOutputBuffer(): """ Similar to the previous two tests, except this time we invoke the save methods on the output buffer object and pass in an XML node object. """ input = '<foo>Hello</foo>' expected = '''\ <?xml version="1.0" encoding="UTF-8"?> <foo>Hello</foo> ''' f = StringIO.StringIO() doc = libxml2.parseDoc(input) buf = libxml2.createOutputBuffer(f, 'UTF-8') buf.saveFileTo(doc, 'UTF-8') if f.getvalue() != expected: print 'outputBuffer.saveFileTo() call failed.' print ' got: %s' % repr(f.getvalue()) print 'expected: %s' % repr(expected) sys.exit(1) f = StringIO.StringIO() buf = libxml2.createOutputBuffer(f, 'UTF-8') buf.saveFormatFileTo(doc, 'UTF-8', 1) if f.getvalue() != expected: print 'outputBuffer.saveFormatFileTo() call failed.' print ' got: %s' % repr(f.getvalue()) print 'expected: %s' % repr(expected) sys.exit(1) doc.freeDoc() if __name__ == '__main__': # Memory debug specific libxml2.debugMemory(1) testSimpleBufferWrites() testSaveDocToBuffer() testSaveFormattedDocToBuffer() testSaveIntoOutputBuffer() libxml2.cleanupParser() if libxml2.debugMemory(1) == 0: print "OK" else: print "Memory leak %d bytes" % (libxml2.debugMemory(1)) libxml2.dumpMemory()