diff --git a/.gitignore b/.gitignore index 7f824c2d2..5b4e47a14 100644 --- a/.gitignore +++ b/.gitignore @@ -218,6 +218,7 @@ TAGS /tests/conform/test-cogl-readpixels /tests/conform/test-cogl-viewport /tests/conform/test-texture-fbo +/tests/conform/test-script-single /tests/micro-bench/test-text-perf /tests/micro-bench/test-text /tests/micro-bench/test-picking diff --git a/tests/conform/Makefile.am b/tests/conform/Makefile.am index 9983db31c..7139ccde9 100644 --- a/tests/conform/Makefile.am +++ b/tests/conform/Makefile.am @@ -39,6 +39,7 @@ test_conformance_SOURCES = \ test-cogl-viewport.c \ test-cogl-offscreen.c \ test-cogl-readpixels.c \ + test-script-parser.c \ $(NULL) # For convenience, this provides a way to easily run individual unit tests: diff --git a/tests/conform/test-conform-main.c b/tests/conform/test-conform-main.c index 315af74cf..e588ee7d6 100644 --- a/tests/conform/test-conform-main.c +++ b/tests/conform/test-conform-main.c @@ -185,5 +185,7 @@ main (int argc, char **argv) TEST_CONFORM_SIMPLE ("/cogl", test_cogl_offscreen); TEST_CONFORM_SIMPLE ("/cogl", test_cogl_readpixels); + TEST_CONFORM_SIMPLE ("/script", test_script_single); + return g_test_run (); } diff --git a/tests/conform/test-script-parser.c b/tests/conform/test-script-parser.c new file mode 100644 index 000000000..929f7bcb1 --- /dev/null +++ b/tests/conform/test-script-parser.c @@ -0,0 +1,33 @@ +#include +#include + +#include + +#include "test-conform-common.h" + +void +test_script_single (TestConformSimpleFixture *fixture, + gconstpointer dummy) +{ + ClutterScript *script = clutter_script_new (); + GObject *actor = NULL; + GError *error = NULL; + ClutterActor *rect; + gchar *test_file; + + test_file = clutter_test_get_data_file ("test-script-single.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_RECTANGLE (actor)); + + rect = CLUTTER_ACTOR (actor); + g_assert_cmpfloat (clutter_actor_get_width (rect), ==, 50.0); + g_assert_cmpfloat (clutter_actor_get_y (rect), ==, 100.0); + + g_object_unref (script); + + clutter_actor_destroy (rect); + g_free (test_file); +} diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index a367ed84f..3a47ed025 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -1,6 +1,9 @@ -EXTRA_DIST = \ - redhand.png \ - redhand_alpha.png \ - light0.png \ - test-script.json +NULL = +EXTRA_DIST = \ + redhand.png \ + redhand_alpha.png \ + light0.png \ + test-script.json \ + test-script-single.json \ + $(NULL) diff --git a/tests/data/test-script-single.json b/tests/data/test-script-single.json new file mode 100644 index 000000000..e20a318df --- /dev/null +++ b/tests/data/test-script-single.json @@ -0,0 +1,10 @@ +{ + "type" : "ClutterRectangle", + "id" : "test", + "width" : 50.0, + "height" : 100.0, + "x" : 100.0, + "y" : 100.0, + "color" : "#ffccdd", + "name" : "Test Rectangle" +}