From 29b3e285a70b9117619fef7ebfad94c2e44e2a1c Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Sun, 29 Dec 2002 11:14:41 +0000 Subject: [PATCH] =?UTF-8?q?fixed=20a=20bug=20pointed=20out=20by=20St=E9pha?= =?UTF-8?q?ne=20Bidoul=20and=20integrated=20it=20into=20the?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * xmlreader.c python/tests/reader.py: fixed a bug pointed out by Stéphane Bidoul and integrated it into the tests Daniel --- ChangeLog | 5 +++++ python/tests/reader.py | 30 ++++++++++++++++++++++++++++++ xmlreader.c | 1 + 3 files changed, 36 insertions(+) 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; /*