mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-03 17:22:29 +00:00
pyges : Improve the test suite
This commit is contained in:
parent
f43d26e319
commit
fc21eb395a
11 changed files with 229 additions and 60 deletions
11
bindings/python/testsuite/test_global_functions.py
Normal file
11
bindings/python/testsuite/test_global_functions.py
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
import glib
|
||||||
|
import gst
|
||||||
|
|
||||||
|
from common import TestCase
|
||||||
|
from gst import ges
|
||||||
|
|
||||||
|
class GlobalFunctions(TestCase):
|
||||||
|
|
||||||
|
def testGlobalFunctions(self):
|
||||||
|
tl = ges.timeline_new_audio_video()
|
||||||
|
tr = ges.timeline_standard_transition_new_for_nick("crossfade")
|
21
bindings/python/testsuite/test_layer.py
Normal file
21
bindings/python/testsuite/test_layer.py
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
import glib
|
||||||
|
import gst
|
||||||
|
|
||||||
|
from common import TestCase
|
||||||
|
from gst import ges
|
||||||
|
|
||||||
|
class Layer(TestCase):
|
||||||
|
|
||||||
|
def testLayer(self):
|
||||||
|
lyr = ges.TimelineLayer()
|
||||||
|
tl = ges.Timeline()
|
||||||
|
src = ges.TimelineTestSource()
|
||||||
|
|
||||||
|
lyr.set_timeline(tl)
|
||||||
|
|
||||||
|
assert (lyr.add_object(src) == True)
|
||||||
|
self.failIf(len (lyr.get_objects()) != 1)
|
||||||
|
assert (lyr.remove_object(src) == True)
|
||||||
|
|
||||||
|
lyr.set_priority(1)
|
||||||
|
self.failIf(lyr.get_priority() != 1)
|
22
bindings/python/testsuite/test_simple_layer.py
Normal file
22
bindings/python/testsuite/test_simple_layer.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
import glib
|
||||||
|
import gst
|
||||||
|
|
||||||
|
from common import TestCase
|
||||||
|
from gst import ges
|
||||||
|
|
||||||
|
class SimpleLayer(TestCase):
|
||||||
|
|
||||||
|
def testSimpleLayer(self):
|
||||||
|
lyr = ges.SimpleTimelineLayer()
|
||||||
|
tl = ges.Timeline()
|
||||||
|
src = ges.TimelineTestSource()
|
||||||
|
src2 = ges.TimelineTestSource()
|
||||||
|
|
||||||
|
lyr.set_timeline(tl)
|
||||||
|
|
||||||
|
assert (lyr.add_object(src, 0) == True)
|
||||||
|
assert (lyr.add_object(src2, 1) == True)
|
||||||
|
assert (lyr.nth(0) == src)
|
||||||
|
assert (lyr.move_object (src, 1) == True)
|
||||||
|
self.failIf(lyr.index(src) != 1)
|
||||||
|
assert (lyr.is_valid() == True)
|
|
@ -2,44 +2,59 @@ import gst
|
||||||
|
|
||||||
from common import TestCase
|
from common import TestCase
|
||||||
from gst import ges
|
from gst import ges
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
class Timeline(TestCase):
|
class TextOverlay(TestCase):
|
||||||
|
|
||||||
def testTimeline(self):
|
def testTextOverlay(self):
|
||||||
|
|
||||||
tl = ges.timeline_new_audio_video()
|
|
||||||
lyr = ges.SimpleTimelineLayer()
|
|
||||||
src = ges.TimelineTestSource()
|
|
||||||
pip = ges.TimelinePipeline()
|
|
||||||
ovrl = ges.TimelineTextOverlay()
|
ovrl = ges.TimelineTextOverlay()
|
||||||
bus = pip.get_bus()
|
lyr = ges.TimelineLayer()
|
||||||
|
tl = ges.timeline_new_audio_video()
|
||||||
|
tck = tl.get_tracks()[0]
|
||||||
|
|
||||||
# Let's add the layer to the timeline, and the sources to the layer.
|
|
||||||
|
|
||||||
tl.add_layer(lyr)
|
|
||||||
src.set_duration(long(gst.SECOND * 10))
|
|
||||||
ovrl.set_duration(long(gst.SECOND * 5))
|
|
||||||
ovrl.set_start(long(gst.SECOND * 5))
|
|
||||||
ovrl.set_text("Foo")
|
ovrl.set_text("Foo")
|
||||||
|
self.failIf (ovrl.get_text() != "Foo")
|
||||||
|
ovrl.set_font_desc ("Arial")
|
||||||
|
self.failIf (ovrl.get_font_desc() != "Arial")
|
||||||
|
ovrl.set_valign("top")
|
||||||
|
self.failIf (ovrl.get_valignment().value_name != "top")
|
||||||
|
ovrl.set_halign("left")
|
||||||
|
self.failIf (ovrl.get_halignment().value_name != "left")
|
||||||
|
|
||||||
lyr.add_object(src, -1)
|
#We will test Timeline Object class functions here
|
||||||
lyr.add_object(ovrl, -1)
|
|
||||||
|
|
||||||
pip.add_timeline(tl)
|
ovrl.set_start(long(100))
|
||||||
bus.set_sync_handler(self.bus_handler)
|
ovrl.set_inpoint(long(50))
|
||||||
|
ovrl.set_duration(long(500))
|
||||||
|
ovrl.set_priority(2)
|
||||||
|
ovrl.set_layer(lyr)
|
||||||
|
tck_obj = ovrl.create_track_object(tck)
|
||||||
|
self.failIf (ovrl.release_track_object(tck_obj) != True)
|
||||||
|
self.failIf (ovrl.add_track_object(tck_obj) != True)
|
||||||
|
self.failIf (len(ovrl.get_track_objects()) != 1)
|
||||||
|
self.failIf (ovrl.get_layer() != lyr)
|
||||||
|
ovrl.release_track_object(tck_obj)
|
||||||
|
|
||||||
self.pipeline = pip
|
#We test TrackTextOverlay and TrackObject here
|
||||||
self.layer = lyr
|
tck_obj.set_text("Bar")
|
||||||
|
self.failIf (tck_obj.get_text() != "Bar")
|
||||||
|
tck_obj.set_font_desc ("Arial")
|
||||||
|
self.failIf (tck_obj.get_font_desc() != "Arial")
|
||||||
|
tck_obj.set_valignment("top")
|
||||||
|
self.failIf (tck_obj.get_valignment().value_name != "top")
|
||||||
|
tck_obj.set_halignment("left")
|
||||||
|
self.failIf (tck_obj.get_halignment().value_name != "left")
|
||||||
|
|
||||||
#Mainloop is finished, tear down.
|
tck_obj.set_locked(False)
|
||||||
self.pipeline = None
|
self.failIf (tck_obj.is_locked() != False)
|
||||||
|
tck_obj.set_start(long(100))
|
||||||
|
tck_obj.set_inpoint(long(50))
|
||||||
def bus_handler(self, unused_bus, message):
|
tck_obj.set_duration(long(500))
|
||||||
if message.type == gst.MESSAGE_ERROR:
|
tck_obj.set_priority(2)
|
||||||
print "ERROR"
|
self.failIf (tck_obj.get_start() != 100)
|
||||||
self.mainloop.quit()
|
self.failIf (tck_obj.get_inpoint() != 50)
|
||||||
elif message.type == gst.MESSAGE_EOS:
|
self.failIf (tck_obj.get_duration() != 500)
|
||||||
print "Done"
|
self.failIf (tck_obj.get_priority() != 2)
|
||||||
self.mainloop.quit()
|
tck_obj.set_timeline_object(ovrl)
|
||||||
return gst.BUS_PASS
|
self.failIf(tck_obj.get_timeline_object() != ovrl)
|
||||||
|
|
|
@ -10,35 +10,13 @@ class Timeline(TestCase):
|
||||||
|
|
||||||
tl = ges.timeline_new_audio_video()
|
tl = ges.timeline_new_audio_video()
|
||||||
lyr = ges.SimpleTimelineLayer()
|
lyr = ges.SimpleTimelineLayer()
|
||||||
src = ges.TimelineTestSource()
|
tck = ges.track_audio_raw_new()
|
||||||
pip = ges.TimelinePipeline()
|
|
||||||
bus = pip.get_bus()
|
|
||||||
tck_src = ges.TrackAudioTestSource()
|
|
||||||
self.mainloop = glib.MainLoop()
|
|
||||||
|
|
||||||
a = tck_src.list_children_properties()
|
assert (tl.add_track(tck) == True)
|
||||||
|
#We should have two tracks from the timeline_new_audio_video() function + 1
|
||||||
#Let's add the layer to the timeline, and the source to the layer.
|
self.failIf(len(tl.get_tracks()) != 3)
|
||||||
src.set_duration(long(gst.SECOND * 10))
|
assert (tl.remove_track(tck) == True)
|
||||||
src.set_vpattern("Random (television snow)")
|
|
||||||
|
|
||||||
assert (tl.add_layer(lyr) == True)
|
assert (tl.add_layer(lyr) == True)
|
||||||
assert (lyr.add_object(src, -1) == True)
|
self.failIf(len(tl.get_layers()) != 1)
|
||||||
self.failIf(len(src.get_track_objects()) != 2)
|
assert (tl.remove_layer(lyr) == True)
|
||||||
assert (pip.add_timeline(tl) == True)
|
|
||||||
|
|
||||||
bus.set_sync_handler(self.bus_handler)
|
|
||||||
|
|
||||||
self.pipeline = pip
|
|
||||||
self.layer = lyr
|
|
||||||
|
|
||||||
#Mainloop is finished, tear down.
|
|
||||||
self.pipeline = None
|
|
||||||
|
|
||||||
|
|
||||||
def bus_handler(self, unused_bus, message):
|
|
||||||
if message.type == gst.MESSAGE_ERROR:
|
|
||||||
print "ERROR"
|
|
||||||
elif message.type == gst.MESSAGE_EOS:
|
|
||||||
print "Done"
|
|
||||||
return gst.BUS_PASS
|
|
||||||
|
|
18
bindings/python/testsuite/test_timeline_file_source.py
Normal file
18
bindings/python/testsuite/test_timeline_file_source.py
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import gst
|
||||||
|
|
||||||
|
from common import TestCase
|
||||||
|
from gst import ges
|
||||||
|
|
||||||
|
class TimelineFileSource(TestCase):
|
||||||
|
|
||||||
|
def testTimelineFileSource(self):
|
||||||
|
src = ges.TimelineFileSource("blahblahblah")
|
||||||
|
|
||||||
|
src.set_mute(True)
|
||||||
|
src.set_max_duration(long(100))
|
||||||
|
src.set_supported_formats("video")
|
||||||
|
assert (src.get_supported_formats().value_nicks[0] == "video")
|
||||||
|
src.set_is_image(True)
|
||||||
|
assert (src.get_max_duration() == 100)
|
||||||
|
assert (src.is_image() == True)
|
||||||
|
assert (src.get_uri() == "blahblahblah")
|
|
@ -0,0 +1,24 @@
|
||||||
|
import gst
|
||||||
|
|
||||||
|
from common import TestCase
|
||||||
|
from gst import ges
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
class ParseLaunchEffect(TestCase):
|
||||||
|
|
||||||
|
def testParseLaunchEffect(self):
|
||||||
|
tl = ges.Timeline()
|
||||||
|
tck = ges.track_video_raw_new()
|
||||||
|
lyr = ges.TimelineLayer()
|
||||||
|
efct = ges.TimelineParseLaunchEffect("agingtv", None)
|
||||||
|
tck_efct = ges.TrackParseLaunchEffect("agingtv")
|
||||||
|
|
||||||
|
tl.add_layer(lyr)
|
||||||
|
efct.add_track_object(tck_efct)
|
||||||
|
lyr.add_object(efct)
|
||||||
|
tck.set_timeline(tl)
|
||||||
|
tck.add_object(tck_efct)
|
||||||
|
tck_efct.set_child_property("GstAgingTV::scratch-lines", 17)
|
||||||
|
self.failIf(tck_efct.get_child_property("GstAgingTV::scratch-lines") != 17)
|
||||||
|
self.failIf(len(tck_efct.list_children_properties()) != 6)
|
||||||
|
self.failIf (tck_efct.lookup_child ("scratch-lines") == None)
|
14
bindings/python/testsuite/test_timeline_pipeline.py
Normal file
14
bindings/python/testsuite/test_timeline_pipeline.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
import glib
|
||||||
|
import gst
|
||||||
|
|
||||||
|
from common import TestCase
|
||||||
|
from gst import ges
|
||||||
|
|
||||||
|
class TimelinePipeline(TestCase):
|
||||||
|
|
||||||
|
def testTimelinePipeline(self):
|
||||||
|
stgs = gst.pbutils.EncodingAudioProfile(gst.Caps("video/x-dirac"), "test", gst.caps_new_any(), 0)
|
||||||
|
ppln = ges.TimelinePipeline()
|
||||||
|
tl = ges.Timeline()
|
||||||
|
assert (ppln.add_timeline (tl) == True)
|
||||||
|
assert (ppln.set_mode("TIMELINE_MODE_PREVIEW_AUDIO") == True)
|
19
bindings/python/testsuite/test_timeline_test_source.py
Normal file
19
bindings/python/testsuite/test_timeline_test_source.py
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
import glib
|
||||||
|
import gst
|
||||||
|
|
||||||
|
from common import TestCase
|
||||||
|
from gst import ges
|
||||||
|
|
||||||
|
class TimelineTestSource(TestCase):
|
||||||
|
|
||||||
|
def testTimelineTestSource(self):
|
||||||
|
src = ges.TimelineTestSource()
|
||||||
|
tck_src = ges.TrackAudioTestSource()
|
||||||
|
src.set_mute(True)
|
||||||
|
src.set_vpattern("snow")
|
||||||
|
src.set_frequency(880)
|
||||||
|
src.set_volume (1)
|
||||||
|
assert (src.get_vpattern() != None)
|
||||||
|
assert (src.is_muted() == True)
|
||||||
|
assert (src.get_frequency() == 880)
|
||||||
|
assert (src.get_volume() == 1)
|
23
bindings/python/testsuite/test_timeline_title_source.py
Normal file
23
bindings/python/testsuite/test_timeline_title_source.py
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
import gst
|
||||||
|
|
||||||
|
from common import TestCase
|
||||||
|
from gst import ges
|
||||||
|
|
||||||
|
class TimelineTitleSource(TestCase):
|
||||||
|
|
||||||
|
def testTimelineTitleSource(self):
|
||||||
|
src = ges.TimelineTitleSource()
|
||||||
|
lyr = ges.TimelineLayer()
|
||||||
|
tck = ges.track_video_raw_new()
|
||||||
|
|
||||||
|
src.set_text("Foo")
|
||||||
|
self.failIf (src.get_text() != "Foo")
|
||||||
|
src.set_font_desc ("Arial")
|
||||||
|
self.failIf (src.get_font_desc() != "Arial")
|
||||||
|
src.set_valignment("top")
|
||||||
|
assert (src.get_valignment().value_name == "top")
|
||||||
|
src.set_halignment("left")
|
||||||
|
assert (src.get_halignment().value_name == "left")
|
||||||
|
src.set_mute(True)
|
||||||
|
assert (src.is_muted() == True)
|
||||||
|
|
24
bindings/python/testsuite/test_track.py
Normal file
24
bindings/python/testsuite/test_track.py
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
import gst
|
||||||
|
|
||||||
|
from common import TestCase
|
||||||
|
from gst import ges
|
||||||
|
|
||||||
|
class Track(TestCase):
|
||||||
|
|
||||||
|
def testTrack(self):
|
||||||
|
tck = ges.track_video_raw_new()
|
||||||
|
tl = ges.Timeline()
|
||||||
|
lyr = ges.TimelineLayer()
|
||||||
|
src = ges.TimelineTestSource()
|
||||||
|
caps = gst.caps_from_string("image/jpeg")
|
||||||
|
obj = ges.TrackParseLaunchEffect ("agingtv")
|
||||||
|
|
||||||
|
tl.add_layer(lyr)
|
||||||
|
src.add_track_object(obj)
|
||||||
|
lyr.add_object(src)
|
||||||
|
tck.set_timeline(tl)
|
||||||
|
|
||||||
|
assert (tck.add_object(obj) == True)
|
||||||
|
assert (tck.get_timeline() == tl)
|
||||||
|
tck.set_caps(caps)
|
||||||
|
assert (tck.get_caps().to_string() == "image/jpeg")
|
Loading…
Reference in a new issue