[gxml/serialization] Fixed no serialize null Serializable. Set version to 0.4.0
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gxml/serialization] Fixed no serialize null Serializable. Set version to 0.4.0
- Date: Mon, 4 Nov 2013 19:16:57 +0000 (UTC)
commit 0993e7d30e975eb94a5547ae3ca63b2b75becd34
Author: Daniel Espinosa <esodan gmail com>
Date: Mon Nov 4 13:11:12 2013 -0600
Fixed no serialize null Serializable. Set version to 0.4.0
configure.ac | 4 ++--
gxml/SerializableObjectModel.vala | 3 ++-
test/SerializableObjectModelTest.vala | 9 +++++++++
3 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 20e4dd7..9c65274 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,8 +11,8 @@
# Release Version
m4_define([project_major_version], [0])
-m4_define([project_minor_version], [3])
-m4_define([project_micro_version], [2])
+m4_define([project_minor_version], [4])
+m4_define([project_micro_version], [0])
m4_define([project_nano_version], [0])
# LT_VERSION
diff --git a/gxml/SerializableObjectModel.vala b/gxml/SerializableObjectModel.vala
index 078f4e1..9d6a14d 100644
--- a/gxml/SerializableObjectModel.vala
+++ b/gxml/SerializableObjectModel.vala
@@ -125,7 +125,8 @@ public abstract class GXml.SerializableObjectModel : Object, Serializable
var v = Value (typeof (Object));
get_property (prop.name, ref v);
var obj = (Serializable) v.get_object ();
- return obj.serialize (element);
+ if (obj != null)
+ return obj.serialize (element);
}
Value oval = Value (prop.value_type);
get_property (prop.name, ref oval);
diff --git a/test/SerializableObjectModelTest.vala b/test/SerializableObjectModelTest.vala
index 4431428..a8604f3 100644
--- a/test/SerializableObjectModelTest.vala
+++ b/test/SerializableObjectModelTest.vala
@@ -245,10 +245,15 @@ class Configuration : ObjectModel
}
}
+class FakeSerializable : ObjectModel
+{
+ public string none { get; set; }
+}
class UnknownAttribute : ObjectModel
{
public string name { get; set; }
public Gee.ArrayList<int> array { get; set; }
+ public FakeSerializable fake { get; set; }
}
class SerializableObjectModelTest : GXmlTest
@@ -744,6 +749,10 @@ class SerializableObjectModelTest : GXmlTest
stdout.printf (@"ERROR: NULL ATTRIBUTE SERIALIZATION: array found
$(array.node_name)");
assert_not_reached ();
}
+ if (doc.document_element.has_child_nodes ()) {
+ stdout.printf (@"ERROR: NULL ATTRIBUTE SERIALIZATION: Nodes found
$(doc.document_element.has_child_nodes ())");
+ assert_not_reached ();
+ }
}
catch (GLib.Error e) {
stdout.printf (@"Error: $(e.message)");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]