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 ("/script", test_script_layout_property);
|
||||||
|
|
||||||
TEST_CONFORM_SIMPLE ("/timeline", test_timeline);
|
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_interpolation);
|
||||||
TEST_CONFORM_SKIP (!g_test_slow (), "/timeline", timeline_rewind);
|
TEST_CONFORM_SKIP (!g_test_slow (), "/timeline", timeline_rewind);
|
||||||
|
|
||||||
|
@ -318,3 +318,43 @@ test_timeline (TestConformSimpleFixture *fixture,
|
|||||||
|
|
||||||
clutter_actor_destroy (stage);
|
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-2.json \
|
||||||
test-animator-3.json \
|
test-animator-3.json \
|
||||||
test-state-1.json \
|
test-state-1.json \
|
||||||
|
test-script-timeline-markers.json \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
png_files = \
|
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