From 4d8db8a22c2285a9bf3b7b793b261b7b45861204 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Mon, 30 Dec 2002 18:40:42 +0000 Subject: [PATCH] =?UTF-8?q?fixed=20another=20pair=20of=20problem=20pointed?= =?UTF-8?q?=20by=20St=E9phane=20Bidoul:=20depth=20start=20at=200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * xmlreader.c python/tests/reader.py: fixed another pair of problem pointed by Stéphane Bidoul: depth start at 0 and a parse problem. Daniel --- ChangeLog | 5 +++++ python/tests/reader.py | 50 ++++++++++++++++++++++++++++-------------- xmlreader.c | 6 ++--- 3 files changed, 42 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5af961af..314709e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Dec 30 19:39:36 CET 2002 Daniel Veillard + + * xmlreader.c python/tests/reader.py: fixed another pair of problem + pointed by Stéphane Bidoul: depth start at 0 and a parse problem. + Mon Dec 30 13:36:50 CET 2002 Daniel Veillard * xmlreader.c python/tests/reader.py: fixed another problem diff --git a/python/tests/reader.py b/python/tests/reader.py index be16b53d..69724bda 100755 --- a/python/tests/reader.py +++ b/python/tests/reader.py @@ -300,22 +300,24 @@ def tst_reader(s): reader = input.newTextReader("tst") res = "" while reader.Read(): - res=res + "%s (%s) [%s] %d\n" % (reader.NodeType(),reader.Name(), - reader.Value(), reader.IsEmptyElement()) + res=res + "%s (%s) [%s] %d %d\n" % (reader.NodeType(),reader.Name(), + reader.Value(), reader.IsEmptyElement(), + reader.Depth()) if reader.NodeType() == 1: # Element while reader.MoveToNextAttribute(): - res = res + "-- %s (%s) [%s]\n" % (reader.NodeType(), - reader.Name(),reader.Value()) + res = res + "-- %s (%s) [%s] %d\n" % (reader.NodeType(), + reader.Name(),reader.Value(), + reader.Depth()) return res doc="""content of c""" -expect="""1 (a) [None] 0 -1 (b) [None] 1 --- 2 (b1) [b1] -1 (c) [None] 0 -3 (#text) [content of c] 0 -15 (c) [None] 0 -15 (a) [None] 0 +expect="""1 (a) [None] 0 0 +1 (b) [None] 1 1 +-- 2 (b1) [b1] 2 +1 (c) [None] 0 1 +3 (#text) [content of c] 0 2 +15 (c) [None] 0 1 +15 (a) [None] 0 0 """ res = tst_reader(doc) if res != expect: @@ -324,14 +326,30 @@ if res != expect: sys.exit(1) doc="""""" -expect="""1 (test) [None] 0 -1 (b) [None] 1 -1 (c) [None] 1 -15 (test) [None] 0 +expect="""1 (test) [None] 0 0 +1 (b) [None] 1 1 +1 (c) [None] 1 1 +15 (test) [None] 0 0 """ res = tst_reader(doc) if res != expect: - print "test5 failed" + print "test9 failed" + print res + sys.exit(1) + +doc="""bbbccc""" +expect="""1 (a) [None] 0 0 +1 (b) [None] 0 1 +3 (#text) [bbb] 0 2 +15 (b) [None] 0 1 +1 (c) [None] 0 1 +3 (#text) [ccc] 0 2 +15 (c) [None] 0 1 +15 (a) [None] 0 0 +""" +res = tst_reader(doc) +if res != expect: + print "test10 failed" print res sys.exit(1) diff --git a/xmlreader.c b/xmlreader.c index bd0ba72e..a65a1bf2 100644 --- a/xmlreader.c +++ b/xmlreader.c @@ -369,9 +369,9 @@ xmlTextReaderRead(xmlTextReaderPtr reader) { if (reader->node == NULL) return(-1); } else { - reader->node = reader->ctxt->node; + reader->node = reader->ctxt->nodeTab[0]; } - reader->depth = 1; + reader->depth = 0; return(1); } oldstate = reader->state; @@ -449,7 +449,7 @@ xmlTextReaderRead(xmlTextReaderPtr reader) { reader->mode = XML_TEXTREADER_DONE; } reader->node = NULL; - reader->depth = 0; + reader->depth = -1; /* * Cleanup of the old node