conform: Add unit for properties holding objects
authorEmmanuele Bassi <ebassi@linux.intel.com>
Fri, 6 Nov 2009 11:32:28 +0000 (11:32 +0000)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Fri, 6 Nov 2009 11:39:30 +0000 (11:39 +0000)
Exercise the definition of GObjects for properties defined using
GParamSpecObject.

.gitignore
tests/conform/test-conform-main.c
tests/conform/test-script-parser.c
tests/data/test-script-object-property.json [new file with mode: 0644]

index 89476a5..3f95d61 100644 (file)
@@ -222,6 +222,7 @@ TAGS
 /tests/conform/test-script-single
 /tests/conform/test-script-child
 /tests/conform/test-script-implicit-alpha
+/tests/conform/test-script-object-property
 /tests/micro-bench/test-text-perf
 /tests/micro-bench/test-text
 /tests/micro-bench/test-picking
index 3811e7f..33aaa0f 100644 (file)
@@ -188,6 +188,7 @@ main (int argc, char **argv)
   TEST_CONFORM_SIMPLE ("/script", test_script_single);
   TEST_CONFORM_SIMPLE ("/script", test_script_child);
   TEST_CONFORM_SIMPLE ("/script", test_script_implicit_alpha);
+  TEST_CONFORM_SIMPLE ("/script", test_script_object_property);
 
   return g_test_run ();
 }
index 3a38374..6ea0a1b 100644 (file)
@@ -225,3 +225,28 @@ test_script_implicit_alpha (TestConformSimpleFixture *fixture,
   g_object_unref (script);
   g_free (test_file);
 }
+
+void
+test_script_object_property (TestConformSimpleFixture *fixture,
+                             gconstpointer dummy)
+{
+  ClutterScript *script = clutter_script_new ();
+  ClutterLayoutManager *manager;
+  GObject *actor = NULL;
+  GError *error = NULL;
+  gchar *test_file;
+
+  test_file = clutter_test_get_data_file ("test-script-object-property.json");
+  clutter_script_load_from_file (script, test_file, &error);
+  g_assert (error == NULL);
+
+  actor = clutter_script_get_object (script, "test");
+  g_assert (CLUTTER_IS_BOX (actor));
+
+  manager = clutter_box_get_layout_manager (CLUTTER_BOX (actor));
+  g_assert (CLUTTER_IS_BIN_LAYOUT (manager));
+
+  g_object_unref (script);
+  clutter_actor_destroy (CLUTTER_ACTOR (actor));
+  g_free (test_file);
+}
diff --git a/tests/data/test-script-object-property.json b/tests/data/test-script-object-property.json
new file mode 100644 (file)
index 0000000..18a02fb
--- /dev/null
@@ -0,0 +1,13 @@
+{
+  "id" : "test",
+  "type" : "ClutterBox",
+  "layout-manager" : { "id" : "layout", "type" : "ClutterBinLayout" },
+  "children" : [
+    {
+      "id" : "child-1",
+      "type" : "ClutterRectangle",
+      "width" : "3 em",
+      "height" : "3 em"
+    }
+  ]
+}