conform: Add named object property unit for ClutterScript
authorEmmanuele Bassi <ebassi@linux.intel.com>
Mon, 30 Nov 2009 18:22:26 +0000 (18:22 +0000)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Mon, 30 Nov 2009 19:11:00 +0000 (19:11 +0000)
We should exercise the resolution of the object properties containing a
string pointing to an object previously defined using ClutterScript.

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

index dde662d..962ebc1 100644 (file)
@@ -228,6 +228,7 @@ TAGS
 /tests/conform/test-script-implicit-alpha
 /tests/conform/test-script-object-property
 /tests/conform/test-script-animation
+/tests/conform/test-script-named-object
 /tests/micro-bench/test-text-perf
 /tests/micro-bench/test-text
 /tests/micro-bench/test-picking
index dd69216..be3929b 100644 (file)
@@ -174,6 +174,7 @@ main (int argc, char **argv)
   TEST_CONFORM_SIMPLE ("/script", test_script_implicit_alpha);
   TEST_CONFORM_SIMPLE ("/script", test_script_object_property);
   TEST_CONFORM_SIMPLE ("/script", test_script_animation);
+  TEST_CONFORM_SIMPLE ("/script", test_script_named_object);
 
   TEST_CONFORM_SIMPLE ("/cogl", test_cogl_fixed);
   TEST_CONFORM_SIMPLE ("/cogl", test_cogl_backface_culling);
index 1e9b397..4b3e401 100644 (file)
@@ -258,6 +258,34 @@ test_script_object_property (TestConformSimpleFixture *fixture,
 }
 
 void
+test_script_named_object (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-named-object.json");
+  clutter_script_load_from_file (script, test_file, &error);
+  if (g_test_verbose () && error)
+    g_print ("Error: %s", error->message);
+  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_BOX_LAYOUT (manager));
+  g_assert (clutter_box_layout_get_vertical (CLUTTER_BOX_LAYOUT (manager)));
+
+  g_object_unref (script);
+  clutter_actor_destroy (CLUTTER_ACTOR (actor));
+  g_free (test_file);
+}
+
+void
 test_script_animation (TestConformSimpleFixture *fixture,
                        gconstpointer dummy)
 {
index 3a47ed0..79c9578 100644 (file)
@@ -1,9 +1,19 @@
 NULL =
 
-EXTRA_DIST = \
+json_files = \
+       test-script-animation.json              \
+       test-script-child.json                  \
+       test-script-implicit-alpha.json         \
+       test-script.json                        \
+       test-script-named-object.json           \
+       test-script-object-property.json        \
+       test-script-single.json                 \
+       $(NULL)
+
+png_files = \
        redhand.png             \
-       redhand_alpha.png       \
+       redhand_alpha.png       \
        light0.png              \
-       test-script.json        \
-       test-script-single.json \
        $(NULL)
+
+EXTRA_DIST = $(json_files) $(png_files)
diff --git a/tests/data/test-script-named-object.json b/tests/data/test-script-named-object.json
new file mode 100644 (file)
index 0000000..f1a5d27
--- /dev/null
@@ -0,0 +1,22 @@
+[
+  {
+    "id" : "layout",
+    "type" : "ClutterBoxLayout",
+    "vertical" : true,
+    "spacing" : 12,
+    "pack-start" : false
+  },
+  {
+    "id" : "test",
+    "type" : "ClutterBox",
+    "layout-manager" : "layout", 
+    "children" : [
+      {
+        "id" : "child-1",
+        "type" : "ClutterRectangle",
+        "width" : "3 em",
+        "height" : "3 em"
+      }
+    ]
+  }
+]