From b47f0d3c4f6e5a5d03edb7768bc1115059d4b616 Mon Sep 17 00:00:00 2001 From: Daniel Espinosa Date: Tue, 1 Nov 2016 13:49:49 -0600 Subject: [PATCH] XParser: Read significan white spaces as Text nodes --- gxml/XParser.vala | 4 ++++ test/GomDocumentTest.vala | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gxml/XParser.vala b/gxml/XParser.vala index 40917ae4..6944a916 100644 --- a/gxml/XParser.vala +++ b/gxml/XParser.vala @@ -230,9 +230,13 @@ public class GXml.XParser : Object, GXml.Parser { #endif break; case Xml.ReaderType.SIGNIFICANT_WHITESPACE: + var stxtval = tr.read_string (); #if DEBUG + GLib.message ("ReadNode: Text Node : '"+stxtval+"'"); GLib.message ("Type SIGNIFICANT_WHITESPACE"); #endif + n = _document.create_text_node (stxtval); + node.append_child (n); break; case Xml.ReaderType.END_ELEMENT: #if DEBUG diff --git a/test/GomDocumentTest.vala b/test/GomDocumentTest.vala index f0853e85..2875ca57 100644 --- a/test/GomDocumentTest.vala +++ b/test/GomDocumentTest.vala @@ -280,14 +280,14 @@ class GomDocumentTest : GXmlTest { }); Test.add_func ("/gxml/gom-document/to_string/extended", () => { try { - var d = new GomDocument.from_path (GXmlTestConfig.TEST_DIR+"/gom-document-read.xml"); + var d = new GomDocument.from_path (GXmlTestConfig.TEST_DIR+"/gdocument-read.xml"); GLib.message ("Document Read:"+d.to_string ()); assert (d.document_element != null); assert (d.document_element.node_name == "DataTypeTemplates"); Test.message (d.document_element.child_nodes.size.to_string ()); - assert (d.document_element.child_nodes[0] is GXml.Text); - assert (d.document_element.child_nodes[1] is GXml.Element); - assert (d.document_element.child_nodes[2] is GXml.Text); + assert (d.document_element.child_nodes[0] is GXml.DomText); + assert (d.document_element.child_nodes[1] is GXml.DomElement); + assert (d.document_element.child_nodes[2] is GXml.DomText); assert (d.document_element.child_nodes[2].node_value == "\n"); assert (d.document_element.child_nodes.size == 3); assert (d.document_element.child_nodes[1].node_name == "DAType"); @@ -296,7 +296,7 @@ class GomDocumentTest : GXmlTest { assert (d.document_element.child_nodes[1].child_nodes[1].child_nodes.size == 3); assert (d.document_element.child_nodes[1].child_nodes[1].child_nodes[1].node_name == "Val"); assert (d.document_element.child_nodes[1].child_nodes[1].child_nodes[1].child_nodes.size == 1); - assert (d.document_element.child_nodes[1].child_nodes[1].child_nodes[1].child_nodes[0] is GXml.Text); + assert (d.document_element.child_nodes[1].child_nodes[1].child_nodes[1].child_nodes[0] is GXml.DomText); assert (d.document_element.child_nodes[1].child_nodes[1].child_nodes[1].child_nodes[0].node_value == "status_only"); } catch (GLib.Error e) { GLib.message ("ERROR: "+e.message); assert_not_reached (); } }); -- GitLab