[pitivi] undo: Enhance test of layer removal undo/redo



commit 43a5a49a69da2e47d4f3520e05edc2c88863bb0d
Author: Thibault Saunier <tsaunier gnome org>
Date:   Wed Apr 27 19:56:23 2016 +0000

    undo: Enhance test of layer removal undo/redo
    
    In the UI timeline, when a layer is removed, we resync priorities
    meaning that if you have the following timeline:
    
        L1 - priority = 0
        L2 - priority = 1
        L3 - priority = 2
    
    if you remove L2 you end up with the following timeline
    
        L1 - priority = 0
        L3 - priority = 1
    
    Properly test it making sure the side effects of the timeline UI
    layer priority management kicks in in the testsuite.
    
    Reviewed-by: Alex Băluț <alexandru balut gmail com>
    Differential Revision: https://phabricator.freedesktop.org/D975

 tests/test_undo_timeline.py |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)
---
diff --git a/tests/test_undo_timeline.py b/tests/test_undo_timeline.py
index 87a7be8..197cef8 100644
--- a/tests/test_undo_timeline.py
+++ b/tests/test_undo_timeline.py
@@ -106,19 +106,32 @@ class TestTimelineUndo(TestCase):
         stacks.append(stack)
 
     def testLayerRemoved(self):
+        timeline_ui = Timeline(container=None, app=None)
+        timeline_ui.setProject(self.app.project_manager.current_project)
+
         layer1 = self.layer
         layer2 = self.timeline.append_layer()
         layer3 = self.timeline.append_layer()
-        self.assertEqual(self.timeline.get_layers(), [layer1, layer2, layer3])
+
+        self.assertEqual([layer1, layer2, layer3], self.timeline.get_layers())
+        self.assertEqual([l.props.priority for l in [layer1, layer2, layer3]],
+                        list(range(3)))
 
         with self.action_log.started("layer removed"):
             self.timeline.remove_layer(layer2)
-        self.assertEqual(self.timeline.get_layers(), [layer1, layer3])
+
+        self.assertEqual([layer1, layer3], self.timeline.get_layers())
+        self.assertEqual([l.props.priority for l in [layer1, layer3]],
+                        list(range(2)))
 
         self.action_log.undo()
-        self.assertEqual(self.timeline.get_layers(), [layer1, layer2, layer3])
+        self.assertEqual([layer1, layer2, layer3], self.timeline.get_layers())
+        self.assertEqual([l.props.priority for l in [layer1, layer2, layer3]],
+                        list(range(3)))
         self.action_log.redo()
-        self.assertEqual(self.timeline.get_layers(), [layer1, layer3])
+        self.assertEqual([layer1, layer3], self.timeline.get_layers())
+        self.assertEqual([l.props.priority for l in [layer1, layer3]],
+                        list(range(2)))
 
     def testLayerMoved(self):
         layer1 = self.layer


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]