diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2011-11-27 12:18:49 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2011-11-27 12:19:40 +0000 |
commit | 3f4bd0d9d4b619d8545a57ee6735eb136dacb1c4 (patch) | |
tree | 81ebc4f870cc8c020a01481fd092d09565455262 | |
parent | 24623c43a86fc00f5079994a0969e7689b01317b (diff) | |
download | clutter-3f4bd0d9d4b619d8545a57ee6735eb136dacb1c4.tar.gz |
conform: Add markers parsing to the timeline unit
We should check that the newly added custom parser for timeline
markers is working as intended.
-rw-r--r-- | tests/conform/test-conform-main.c | 1 | ||||
-rw-r--r-- | tests/conform/test-timeline.c | 40 | ||||
-rw-r--r-- | tests/data/Makefile.am | 1 | ||||
-rw-r--r-- | tests/data/test-script-timeline-markers.json | 11 |
4 files changed, 53 insertions, 0 deletions
diff --git a/tests/conform/test-conform-main.c b/tests/conform/test-conform-main.c index 7a187b92c..afbde487a 100644 --- a/tests/conform/test-conform-main.c +++ b/tests/conform/test-conform-main.c @@ -208,6 +208,7 @@ main (int argc, char **argv) TEST_CONFORM_SIMPLE ("/script", test_script_layout_property); TEST_CONFORM_SIMPLE ("/timeline", test_timeline); + TEST_CONFORM_SIMPLE ("/timeline", markers_from_script); TEST_CONFORM_SKIP (!g_test_slow (), "/timeline", timeline_interpolation); TEST_CONFORM_SKIP (!g_test_slow (), "/timeline", timeline_rewind); diff --git a/tests/conform/test-timeline.c b/tests/conform/test-timeline.c index 7a1c17971..b9291902f 100644 --- a/tests/conform/test-timeline.c +++ b/tests/conform/test-timeline.c @@ -318,3 +318,43 @@ test_timeline (TestConformSimpleFixture *fixture, clutter_actor_destroy (stage); } + +void +markers_from_script (TestConformSimpleFixture *fixture, + gconstpointer data) +{ + ClutterScript *script = clutter_script_new (); + ClutterTimeline *timeline; + GError *error = NULL; + gchar *test_file; + gchar **markers; + gsize n_markers; + + test_file = clutter_test_get_data_file ("test-script-timeline-markers.json"); + clutter_script_load_from_file (script, test_file, &error); + if (g_test_verbose () && error != NULL) + g_print ("Error: %s", error->message); + + g_assert_no_error (error); + + timeline = CLUTTER_TIMELINE (clutter_script_get_object (script, "timeline0")); + + g_assert (clutter_timeline_has_marker (timeline, "marker0")); + g_assert (clutter_timeline_has_marker (timeline, "marker1")); + g_assert (!clutter_timeline_has_marker (timeline, "foo")); + g_assert (clutter_timeline_has_marker (timeline, "marker2")); + + markers = clutter_timeline_list_markers (timeline, -1, &n_markers); + g_assert_cmpint (n_markers, ==, 3); + g_strfreev (markers); + + markers = clutter_timeline_list_markers (timeline, 500, &n_markers); + g_assert_cmpint (n_markers, ==, 1); + g_assert (markers != NULL); + g_assert_cmpstr (markers[0], ==, "marker1"); + g_strfreev (markers); + + g_object_unref (script); + + g_free (test_file); +} diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index b30d3d1bd..e461a48ab 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -15,6 +15,7 @@ json_files = \ test-animator-2.json \ test-animator-3.json \ test-state-1.json \ + test-script-timeline-markers.json \ $(NULL) png_files = \ diff --git a/tests/data/test-script-timeline-markers.json b/tests/data/test-script-timeline-markers.json new file mode 100644 index 000000000..9dacecba2 --- /dev/null +++ b/tests/data/test-script-timeline-markers.json @@ -0,0 +1,11 @@ +{ + "id" : "timeline0", + "type" : "ClutterTimeline", + "duration" : 1000, + + "markers" : [ + { "name" : "marker0", "time" : 250 }, + { "name" : "marker1", "time" : 500 }, + { "name" : "marker2", "time" : 750 } + ] +} |