From f1ed8be066a7c5f16e2e876cc76ef1f5348bc14e Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Fri, 6 Nov 2009 11:32:28 +0000 Subject: [PATCH] conform: Add unit for properties holding objects Exercise the definition of GObjects for properties defined using GParamSpecObject. --- .gitignore | 1 + tests/conform/test-conform-main.c | 1 + tests/conform/test-script-parser.c | 25 +++++++++++++++++++++++++ tests/data/test-script-object-property.json | 13 +++++++++++++ 4 files changed, 40 insertions(+) create mode 100644 tests/data/test-script-object-property.json diff --git a/.gitignore b/.gitignore index 89476a5..3f95d61 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/tests/conform/test-conform-main.c b/tests/conform/test-conform-main.c index 3811e7f..33aaa0f 100644 --- a/tests/conform/test-conform-main.c +++ b/tests/conform/test-conform-main.c @@ -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 (); } diff --git a/tests/conform/test-script-parser.c b/tests/conform/test-script-parser.c index 3a38374..6ea0a1b 100644 --- a/tests/conform/test-script-parser.c +++ b/tests/conform/test-script-parser.c @@ -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 index 0000000..18a02fb --- /dev/null +++ b/tests/data/test-script-object-property.json @@ -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" + } + ] +} -- 2.7.4