[gxml] Fixed parse string for GomElement
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gxml] Fixed parse string for GomElement
- Date: Sat, 21 Jan 2017 03:24:46 +0000 (UTC)
commit 0039e0a449e8be74e6d29974fb739139d2dd2f45
Author: Daniel Espinosa <esodan gmail com>
Date: Fri Jan 20 14:48:24 2017 -0600
Fixed parse string for GomElement
gxml/XParser.vala | 8 ++++----
test/GomSerializationTest.vala | 15 ++++++++-------
2 files changed, 12 insertions(+), 11 deletions(-)
---
diff --git a/gxml/XParser.vala b/gxml/XParser.vala
index e8021b6..932433b 100644
--- a/gxml/XParser.vala
+++ b/gxml/XParser.vala
@@ -114,10 +114,12 @@ public class GXml.XParser : Object, GXml.Parser {
GLib.message ("Current Node's name: "+current_node_name ().down ());
GLib.message ("Current Node is Element: "+current_is_element ().to_string ());
#endif
- break;
if (current_is_element ()
&&
(current_node_name ().down () == (node as DomElement).local_name.down ())) {
+#if DEBUG
+ GLib.message ("Found Element node: "+current_node_name ());
+#endif
break;
}
if (!current_is_document ()) {
@@ -125,10 +127,8 @@ public class GXml.XParser : Object, GXml.Parser {
}
if (!move_next_node ()) break;
}
-#if DEBUG
- GLib.message ("Found Element node: "+current_node_name ());
-#endif
read_element (node as DomElement);
+ if (!move_next_node ()) return;
}
#if DEBUG
GLib.message ("Parsing child nodes of: "+node.node_name);
diff --git a/test/GomSerializationTest.vala b/test/GomSerializationTest.vala
index e06d10b..9ae0006 100644
--- a/test/GomSerializationTest.vala
+++ b/test/GomSerializationTest.vala
@@ -562,12 +562,14 @@ class GomSerializationTest : GXmlTest {
Test.add_func ("/gxml/gom-serialization/read/bad-node-name", () => {
var b = new Book ();
b.read_from_string ("<chair name=\"Tall\"/>");
- GLib.message ("Book name ="+b.name);
+#if DEBUG
+ var parser = new XParser (b);
+ GLib.message ("Read: "+parser.write_string ());
+#endif
assert (b.name == null);
- assert (b.child_nodes.size == 1);
- var n = b.child_nodes.item (0);
- assert (n != null);
- assert (n.node_name == "chair");
+ assert (b.child_nodes.size == 0);
+ assert (b.owner_document.document_element != null);
+ assert (b.owner_document.document_element.node_name == "Book");
});
Test.add_func ("/gxml/gom-serialization/read/object-property", () => {
try {
@@ -575,8 +577,7 @@ class GomSerializationTest : GXmlTest {
string s = b.to_string ();
GLib.message ("doc:"+s);
assert ("<BookRegister Year=\"0\"/>" in s);
- var parser = new XParser (b);
- parser.read_string ("<BookRegister><Book/></BookRegister>", null);
+ b.read_from_string ("<bookRegister><Book/></bookRegister>");
s = b.to_string ();
GLib.message ("doc:"+s);
assert ("<BookRegister Year=\"0\"><Book/></BookRegister>" in s);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]