[gxml: 6/7] Setup 0.8.2 release



commit bd6d257704450efbebd4f1d796ffc0e9d17c3bc1
Author: Daniel Espinosa <esodan gmail com>
Date:   Wed Jan 13 15:14:30 2016 -0600

    Setup 0.8.2 release
    
    * Added remote file read test
    * Check error message not to be null before throw errors

 NEWS                      |    7 +++++++
 configure.ac              |    4 ++--
 gxml/libxml-Document.vala |   16 ++++++++++++----
 test/DocumentTest.vala    |   29 +++++++++++++++++++++++++++++
 4 files changed, 50 insertions(+), 6 deletions(-)
---
diff --git a/NEWS b/NEWS
index 5c4bb01..24d03eb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,11 @@
 =============
+Version 0.8.2
+=============
+
+* Fixed sigfault on xDocumento.from_stream()
+* Added test for remote file read using GLib.File
+
+=============
 Version 0.8.1
 =============
 
diff --git a/configure.ac b/configure.ac
index 9c0fbb6..b5a93cc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,7 +12,7 @@
 # Release Version
 m4_define([project_major_version], [0])
 m4_define([project_minor_version], [8])
-m4_define([project_micro_version], [1])
+m4_define([project_micro_version], [2])
 m4_define([project_nano_version], [0])
 
 # LT_VERSION
@@ -22,7 +22,7 @@ m4_define([project_nano_version], [0])
 #   If public symbols have been added since last release, increment age
 #   If public symbols have been removed since last release, set age to 0
 m4_define([project_lt_current], [8])
-m4_define([project_lt_revision], [1])
+m4_define([project_lt_revision], [2])
 m4_define([project_lt_age], [0])
 
 # Combine numbers to various version variables (different uses)
diff --git a/gxml/libxml-Document.vala b/gxml/libxml-Document.vala
index 95542f9..831f899 100644
--- a/gxml/libxml-Document.vala
+++ b/gxml/libxml-Document.vala
@@ -442,14 +442,16 @@ namespace GXml {
                                throw new GXml.Error.PARSER (errmsg);
                        }
                        Xmlx.reset_last_error ();
-                       e = Xmlx.get_last_error ();
                        var doc = Xml.Parser.parse_memory ((string) ostream.data, ((string) 
ostream.data).length);
                        if (doc != null) {
                                this.from_libxml2 (doc);
                        } else {
+                               errmsg = "Parser Error";
                                e = Xmlx.get_last_error ();
                                if (e != null) {
-                                       errmsg += ".  " + libxml2_error_to_string (e);
+                                       string s = libxml2_error_to_string (e);
+                                       if (s != null)
+                                               errmsg += s;
                                }
                                GXml.exception (DomException.INVALID_DOC, errmsg);
                                throw new GXml.Error.PARSER (errmsg);
@@ -491,7 +493,10 @@ namespace GXml {
                  this.from_libxml2 (doc);
                        var e = Xmlx.get_last_error ();
                        if (e != null) {
-                               var errmsg = ".  " + libxml2_error_to_string (e);
+                               var errmsg = "Parser Error for string";
+                               string s = libxml2_error_to_string (e);
+                               if (s != null)
+                                       errmsg = ".  ";
                                GXml.exception (DomException.INVALID_DOC, errmsg);
                                throw new GXml.Error.PARSER (errmsg);
                        }
@@ -534,7 +539,10 @@ namespace GXml {
                        // uh oh
                        e = Xmlx.get_last_error ();
                        if (e != null) {
-                               errmsg += ".  " + libxml2_error_to_string (e);
+                               errmsg = "Error to save to path";
+                               string s =  libxml2_error_to_string (e);
+                               if (s != null)
+                                       errmsg += ".  ";
                        }
 
                        // TODO: use xmlGetLastError to get the real error message
diff --git a/test/DocumentTest.vala b/test/DocumentTest.vala
index 931b2c0..1dc6956 100644
--- a/test/DocumentTest.vala
+++ b/test/DocumentTest.vala
@@ -125,6 +125,35 @@ class DocumentTest : GXmlTest {
                                assert_not_reached ();
                        }
                        });
+               Test.add_func ("/gxml/document/gfile/remote", () => {
+                       try {
+                               var rf = GLib.File.new_for_uri 
("https://git.gnome.org/browse/gxml/plain/gxml.doap";);
+                               assert (rf.query_exists ());
+                               var d = new xDocument.from_gfile (rf);
+                               assert (d != null);
+                               assert (d.root != null);
+                               assert (d.root.name == "Project");
+                               bool fname, fshordesc, fdescription, fhomepage;
+                               fname = fshordesc = fdescription = fhomepage = false;
+                               foreach (GXml.Node n in d.root.childs) {
+                                       if (n.name == "name") fname = true;
+                                       if (n.name == "shortdesc") fshordesc = true;
+                                       if (n.name == "description") fdescription = true;
+                                       if (n.name == "homepage") fhomepage = true;
+                               }
+                               assert (fname);
+                               assert (fshordesc);
+                               assert (fdescription);
+                               assert (fhomepage);
+                               var f = GLib.File.new_for_path (GXmlTestConfig.TEST_SAVE_DIR+"/xml.doap");
+                               d.save_as (f);
+                               assert (f.query_exists ());
+                               f.delete ();
+                       } catch (GLib.Error e) {
+                               GLib.message ("Error: "+e.message);
+                               assert_not_reached ();
+                       }
+               });
                Test.add_func ("/gxml/document/construct_from_stream_error", () => {
                                File fin;
                                InputStream instream;


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