[gxml] GomElement: adding object attribute tests



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]