[gxml] XParser: Read significan white spaces as Text nodes



commit b47f0d3c4f6e5a5d03edb7768bc1115059d4b616
Author: Daniel Espinosa <esodan gmail com>
Date:   Tue Nov 1 13:49:49 2016 -0600

    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 40917ae..6944a91 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 f0853e8..2875ca5 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 (); }
                });


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]