mirror of
https://github.com/brl/mutter.git
synced 2024-11-22 16:10:41 -05:00
conform: Add markers parsing to the timeline unit
We should check that the newly added custom parser for timeline markers is working as intended.
This commit is contained in:
parent
24623c43a8
commit
3f4bd0d9d4
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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 = \
|
||||
|
11
tests/data/test-script-timeline-markers.json
Normal file
11
tests/data/test-script-timeline-markers.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"id" : "timeline0",
|
||||
"type" : "ClutterTimeline",
|
||||
"duration" : 1000,
|
||||
|
||||
"markers" : [
|
||||
{ "name" : "marker0", "time" : 250 },
|
||||
{ "name" : "marker1", "time" : 500 },
|
||||
{ "name" : "marker2", "time" : 750 }
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user