[gxml] GomElement: adding object attribute tests
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gxml] GomElement: adding object attribute tests
- Date: Wed, 20 Mar 2019 16:52:58 +0000 (UTC)
commit df4979d27584dbafe6ad252ed4d1b18fa97753ec
Author: Daniel Espinosa <esodan gmail com>
Date: Tue Mar 19 12:36:57 2019 -0600
GomElement: adding object attribute tests
test/GomElementTest.vala | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
---
diff --git a/test/GomElementTest.vala b/test/GomElementTest.vala
index fb5372d..912c398 100644
--- a/test/GomElementTest.vala
+++ b/test/GomElementTest.vala
@@ -27,6 +27,23 @@ public interface NoInstantiatable : Object, GomObject {
}
public interface Property : Object, GomProperty {}
+class ObjectParent : GomElement {
+ construct {
+ try { initialize ("root"); }
+ catch (GLib.Error e) { warning ("Error: "+e.message); }
+ }
+ [Description (nick="::text")]
+ public string text { get; set; }
+ [Description (nick="::prop")]
+ public ObjectProperty prop { get; set; }
+ public class ObjectProperty : Object, GomProperty {
+ public string? value { owned get; set; }
+ public bool validate_value (string val) {
+ return true;
+ }
+ }
+}
+
class GomElementTest : GXmlTest {
public class ParsedDelayed : GomElement {
construct {
@@ -724,5 +741,23 @@ class GomElementTest : GXmlTest {
assert_not_reached ();
}
});
+ Test.add_func ("/gxml/gom-element/object-attributes", () => {
+ try {
+ var e = new ObjectParent ();
+ assert (e.text == null);
+ assert (e.prop == null);
+ e.set_attribute ("text", "value1");
+ assert (e.get_attribute ("text") == "value1");
+ e.set_attribute ("prop", "value_prop");
+ message ("Attribute: prop: %s", e.get_attribute ("prop"));
+ assert (e.get_attribute ("prop") == "value_prop");
+ assert (e.text != null);
+ assert (e.prop != null);
+ assert_not_reached ();
+ } 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]