diff --git a/ChangeLog b/ChangeLog index f7edb258..5d195011 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Dec 29 12:13:18 CET 2002 Daniel Veillard + + * xmlreader.c python/tests/reader.py: fixed a bug pointed out + by Stéphane Bidoul and integrated it into the tests + Sat Dec 28 23:49:12 CET 2002 Daniel Veillard * xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: diff --git a/python/tests/reader.py b/python/tests/reader.py index 7b7dcc85..c615c700 100755 --- a/python/tests/reader.py +++ b/python/tests/reader.py @@ -235,6 +235,36 @@ if reader.MoveToNextAttribute() != 0: print "Failed to detect last attribute" sys.exit(1) +# +# Another test provided by Stéphane Bidoul and checked with C# +# +expect="""1 (a) [None] +1 (b) [None] +-- 2 (b1) [b1] +1 (c) [None] +3 (#text) [content of c] +15 (c) [None] +15 (a) [None] +""" +res="" +f = StringIO.StringIO("""content of c""") +input = libxml2.inputBuffer(f) +reader = input.newTextReader("test5") + +while reader.Read(): + res=res + "%s (%s) [%s]\n" % (reader.NodeType(),reader.Name(), + reader.Value()) + if reader.NodeType() == 1: # Element + while reader.MoveToNextAttribute(): + res = res + "-- %s (%s) [%s]\n" % (reader.NodeType(), + reader.Name(),reader.Value()) + +if res != expect: + print "test5 failed" + print res + sys.exit(1) + + del f del input del reader diff --git a/xmlreader.c b/xmlreader.c index 9640414a..a32ec307 100644 --- a/xmlreader.c +++ b/xmlreader.c @@ -349,6 +349,7 @@ xmlTextReaderRead(xmlTextReaderPtr reader) { fprintf(stderr, "\nREAD "); DUMP_READER #endif + reader->curnode = NULL; if (reader->mode == XML_TEXTREADER_MODE_INITIAL) { reader->mode = XML_TEXTREADER_MODE_INTERACTIVE; /*