[pitivi] timeline: Assume at least one layer



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]