[pitivi] timeline: Assume at least one layer
- From: Alexandru Băluț <alexbalut src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] timeline: Assume at least one layer
- Date: Fri, 17 Jun 2016 05:40:28 +0000 (UTC)
commit 5f6b7c58de17a42c4fc5569ea58f4bb1b2f153e2
Author: Alexandru Băluț <alexandru balut gmail com>
Date: Wed Jun 8 06:29:33 2016 +0200
timeline: Assume at least one layer
Updated test_loaded_callback to check the number of layers.
Differential Revision: https://phabricator.freedesktop.org/D1077
pitivi/timeline/timeline.py | 21 +++------------------
tests/test_project.py | 28 ++++++++++++++--------------
2 files changed, 17 insertions(+), 32 deletions(-)
---
diff --git a/pitivi/timeline/timeline.py b/pitivi/timeline/timeline.py
index ba1e4d0..5e718ba 100644
--- a/pitivi/timeline/timeline.py
+++ b/pitivi/timeline/timeline.py
@@ -1222,7 +1222,7 @@ class TimelineContainer(Gtk.Grid, Zoomable, Loggable):
"""
Add clips to the timeline on the first layer.
"""
- layers = self._getLayers()
+ layers = self.ges_timeline.get_layers()
layer = layers[0]
self._insertClipsAndAssets(clips, position, layer)
@@ -1382,29 +1382,14 @@ class TimelineContainer(Gtk.Grid, Zoomable, Loggable):
def _ignoreAllEventsCb(self, *unused_args):
return True
- def _getLayers(self):
- """
- Get the layers of the timeline.
-
- Makes sure there is at least one layer in the timeline.
-
- @rtype: list of GES.Layer
- """
- layers = self.ges_timeline.get_layers()
- if not layers:
- layer = GES.Layer()
- layer.props.auto_transition = True
- self.ges_timeline.add_layer(layer)
- return [layer]
- return layers
-
def _getLongestLayer(self):
"""
Return the longest layer.
"""
- layers = self._getLayers()
+ layers = self.ges_timeline.get_layers()
if len(layers) == 1:
return layers[0]
+
# Create a list of (layer_length, layer) tuples.
layer_lengths = [(max([(clip.get_start() + clip.get_duration()) for clip in layer.get_clips()] or
[0]), layer)
for layer in layers]
diff --git a/tests/test_project.py b/tests/test_project.py
index b6f0abb..ee402c4 100644
--- a/tests/test_project.py
+++ b/tests/test_project.py
@@ -282,36 +282,36 @@ class TestProjectManager(TestCase):
class TestProjectLoading(common.TestCase):
- def testLoadedCallback(self):
+ def test_loaded_callback(self):
mainloop = common.create_main_loop()
- def loaded(project, timeline, result):
- result[0] = True
+ def loaded(project, timeline):
+ # If not called, the timeout of the mainloop will fail the test.
mainloop.quit()
# Create a blank project and save it.
project = common.create_project()
- result = [False]
- project.connect("loaded", loaded, result)
-
- self.assertTrue(project.createTimeline())
+ project.connect("loaded", loaded)
mainloop.run()
- self.assertTrue(
- result[0], "Blank project creation failed to trigger signal: loaded")
+ # The blank project loading succeeded emitting signal "loaded".
+
+ self.assertIsNotNone(project.ges_timeline)
+ self.assertEqual(len(project.ges_timeline.get_layers()), 1)
# Load the blank project and make sure "loaded" is triggered.
unused, xges_path = tempfile.mkstemp()
uri = "file://%s" % xges_path
try:
+ # Save so we can close it without complaints.
project.save(project.ges_timeline, uri, None, overwrite=True)
project2 = common.create_project()
- self.assertTrue(project2.createTimeline())
- result = [False]
- project2.connect("loaded", loaded, result)
+ project2.connect("loaded", loaded)
mainloop.run()
- self.assertTrue(
- result[0], "Blank project loading failed to trigger signal: loaded")
+ # The blank project loading succeeded emitting signal "loaded".
+
+ self.assertIsNotNone(project2.ges_timeline)
+ self.assertEqual(len(project2.ges_timeline.get_layers()), 1)
finally:
os.remove(xges_path)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]