diff --git a/tests/check/python/__init__.py b/tests/check/python/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/check/python/common.py b/tests/check/python/common.py index e0e9d70205..23d81e99d8 100644 --- a/tests/check/python/common.py +++ b/tests/check/python/common.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # # Copyright (c) 2016 Alexandru Băluț +# Copyright (c) 2016, Thibault Saunier # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,9 +18,19 @@ # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, # Boston, MA 02110-1301, USA. -from gi.repository import GES -from gi.repository import GLib -import tempfile +import gi + +gi.require_version("Gst", "1.0") +gi.require_version("GES", "1.0") + +from gi.repository import Gst # noqa +from gi.repository import GES # noqa +from gi.repository import GLib # noqa +import unittest # noqa +import tempfile # noqa + +Gst.init(None) +GES.init() def create_main_loop(): @@ -67,3 +78,52 @@ def create_project(with_group=False, saved=False): return timeline +class GESTest(unittest.TestCase): + def _log(self, func, format, *args): + string = format + if args: + string = string % args[0] + func(string) + + def log(self, format, *args): + self._log(Gst.log, format, *args) + + def debug(self, format, *args): + self._log(Gst.debug, format, *args) + + def info(self, format, *args): + self._log(Gst.info, format, *args) + + def fixme(self, format, *args): + self._log(Gst.fixme, format, *args) + + def warning(self, format, *args): + self._log(Gst.warning, format, *args) + + def error(self, format, *args): + self._log(Gst.error, format, *args) + + +class GESSimpleTimelineTest(GESTest): + def setUp(self): + self.timeline = GES.Timeline.new_audio_video() + self.assertEqual(len(self.timeline.get_tracks()), 2) + self.layer = self.timeline.append_layer() + + def add_clip(self, start, in_point, duration): + clip = GES.TestClip() + clip.props.start = start + clip.props.in_point = in_point + clip.props.duration = duration + self.layer.add_clip(clip) + + return clip + + def check_clip_values(self, clip, start, in_point, duration): + for elem in [clip] + clip.get_children(False): + self.check_element_values(elem, start, in_point, duration) + + def check_element_values(self, element, start, in_point, duration): + self.assertEqual(element.props.start, start, element) + self.assertEqual(element.props.in_point, in_point, element) + self.assertEqual(element.props.duration, duration, element) diff --git a/tests/check/python/test_clip.py b/tests/check/python/test_clip.py index 83c7a8dc2b..6df4f2654f 100644 --- a/tests/check/python/test_clip.py +++ b/tests/check/python/test_clip.py @@ -24,8 +24,13 @@ gi.require_version("GES", "1.0") from gi.repository import Gst # noqa from gi.repository import GES # noqa + +from .common import GESSimpleTimelineTest # noqa + import unittest # noqa + + Gst.init(None) GES.init() diff --git a/tests/check/python/test_group.py b/tests/check/python/test_group.py index ef2d3a9716..1d220b0cb0 100644 --- a/tests/check/python/test_group.py +++ b/tests/check/python/test_group.py @@ -24,22 +24,17 @@ gi.require_version("GES", "1.0") from gi.repository import Gst # noqa from gi.repository import GES # noqa + +from . import common # noqa + import unittest # noqa from unittest import mock -import common - Gst.init(None) GES.init() -class TestGroup(unittest.TestCase): - - def setUp(self): - self.timeline = GES.Timeline.new_audio_video() - self.assertEqual(len(self.timeline.get_tracks()), 2) - self.layer = self.timeline.append_layer() - +class TestGroup(common.GESSimpleTimelineTest): def testCopyGroup(self): clip1 = GES.TestClip.new() clip1.props.duration = 10 diff --git a/tests/check/python/test_timeline.py b/tests/check/python/test_timeline.py index 9aad8d608b..ba3f0f5a37 100644 --- a/tests/check/python/test_timeline.py +++ b/tests/check/python/test_timeline.py @@ -27,7 +27,7 @@ from gi.repository import GES # noqa import unittest # noqa from unittest import mock -import common +from . import common Gst.init(None) GES.init()