mirror of
https://github.com/brl/mutter.git
synced 2025-01-22 09:29:25 +00:00
conform: Add the beginnings of a ClutterScript test suite
ClutterScript is a very complicated piece of machinery, with a parser that has custom variations on top of the basic JSON format; it could also be extended in the future, so if we don't want to introduce regressions or break existing ClutterScript definitions, we'd better have a conformance test suite.
This commit is contained in:
parent
7d891d9dd4
commit
d7cfa15851
1
.gitignore
vendored
1
.gitignore
vendored
@ -218,6 +218,7 @@ TAGS
|
|||||||
/tests/conform/test-cogl-readpixels
|
/tests/conform/test-cogl-readpixels
|
||||||
/tests/conform/test-cogl-viewport
|
/tests/conform/test-cogl-viewport
|
||||||
/tests/conform/test-texture-fbo
|
/tests/conform/test-texture-fbo
|
||||||
|
/tests/conform/test-script-single
|
||||||
/tests/micro-bench/test-text-perf
|
/tests/micro-bench/test-text-perf
|
||||||
/tests/micro-bench/test-text
|
/tests/micro-bench/test-text
|
||||||
/tests/micro-bench/test-picking
|
/tests/micro-bench/test-picking
|
||||||
|
@ -39,6 +39,7 @@ test_conformance_SOURCES = \
|
|||||||
test-cogl-viewport.c \
|
test-cogl-viewport.c \
|
||||||
test-cogl-offscreen.c \
|
test-cogl-offscreen.c \
|
||||||
test-cogl-readpixels.c \
|
test-cogl-readpixels.c \
|
||||||
|
test-script-parser.c \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
# For convenience, this provides a way to easily run individual unit tests:
|
# For convenience, this provides a way to easily run individual unit tests:
|
||||||
|
@ -185,5 +185,7 @@ main (int argc, char **argv)
|
|||||||
TEST_CONFORM_SIMPLE ("/cogl", test_cogl_offscreen);
|
TEST_CONFORM_SIMPLE ("/cogl", test_cogl_offscreen);
|
||||||
TEST_CONFORM_SIMPLE ("/cogl", test_cogl_readpixels);
|
TEST_CONFORM_SIMPLE ("/cogl", test_cogl_readpixels);
|
||||||
|
|
||||||
|
TEST_CONFORM_SIMPLE ("/script", test_script_single);
|
||||||
|
|
||||||
return g_test_run ();
|
return g_test_run ();
|
||||||
}
|
}
|
||||||
|
33
tests/conform/test-script-parser.c
Normal file
33
tests/conform/test-script-parser.c
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include <clutter/clutter.h>
|
||||||
|
|
||||||
|
#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);
|
||||||
|
}
|
@ -1,6 +1,9 @@
|
|||||||
EXTRA_DIST = \
|
NULL =
|
||||||
redhand.png \
|
|
||||||
redhand_alpha.png \
|
|
||||||
light0.png \
|
|
||||||
test-script.json
|
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
redhand.png \
|
||||||
|
redhand_alpha.png \
|
||||||
|
light0.png \
|
||||||
|
test-script.json \
|
||||||
|
test-script-single.json \
|
||||||
|
$(NULL)
|
||||||
|
10
tests/data/test-script-single.json
Normal file
10
tests/data/test-script-single.json
Normal file
@ -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"
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user