Annotation of embedaddon/libxml2/python/tests/reader5.py, revision 1.1

1.1     ! misho       1: #!/usr/bin/python -u
        !             2: #
        !             3: # this tests the Expand() API of the xmlTextReader interface
        !             4: # this extract the Dragon bibliography entries from the XML specification
        !             5: #
        !             6: import libxml2
        !             7: import StringIO
        !             8: import sys
        !             9: 
        !            10: # Memory debug specific
        !            11: libxml2.debugMemory(1)
        !            12: 
        !            13: expect="""<bibl id="Aho" key="Aho/Ullman">Aho, Alfred V., 
        !            14: Ravi Sethi, and Jeffrey D. Ullman.
        !            15: <emph>Compilers:  Principles, Techniques, and Tools</emph>.
        !            16: Reading:  Addison-Wesley, 1986, rpt. corr. 1988.</bibl>"""
        !            17: 
        !            18: f = open('../../test/valid/REC-xml-19980210.xml')
        !            19: input = libxml2.inputBuffer(f)
        !            20: reader = input.newTextReader("REC")
        !            21: res=""
        !            22: while reader.Read():
        !            23:     while reader.Name() == 'bibl':
        !            24:         node = reader.Expand()            # expand the subtree
        !            25:         if node.xpathEval("@id = 'Aho'"): # use XPath on it
        !            26:             res = res + node.serialize()
        !            27:         if reader.Next() != 1:            # skip the subtree
        !            28:             break;
        !            29: 
        !            30: if res != expect:
        !            31:     print "Error: didn't get the expected output"
        !            32:     print "got '%s'" % (res)
        !            33:     print "expected '%s'" % (expect)
        !            34:     
        !            35: 
        !            36: #
        !            37: # cleanup
        !            38: #
        !            39: del input
        !            40: del reader
        !            41: 
        !            42: # Memory debug specific
        !            43: libxml2.cleanupParser()
        !            44: if libxml2.debugMemory(1) == 0:
        !            45:     print "OK"
        !            46: else:
        !            47:     print "Memory leak %d bytes" % (libxml2.debugMemory(1))
        !            48:     libxml2.dumpMemory()

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>