def testLayerMoved(self): layer1 = self.layer layer2 = self.timeline.append_layer() layer3 = self.timeline.append_layer() self.assertEqual(self.timeline.get_layers(), [layer1, layer2, layer3]) timeline_ui = Timeline(app=self.app, size_group=mock.Mock()) timeline_ui.setProject(self.app.project_manager.current_project) # Click and drag a layer control box to move the layer. with mock.patch.object(Gtk, 'get_event_widget') as get_event_widget: event = mock.Mock() event.get_button.return_value = True, 1 get_event_widget.return_value = layer1.control_ui timeline_ui._button_press_event_cb(None, event=event) with mock.patch.object(layer1.control_ui, "translate_coordinates") as translate_coordinates: translate_coordinates.return_value = (0, 0) with mock.patch.object(timeline_ui, "_get_layer_at") as _get_layer_at: _get_layer_at.return_value = layer3, None timeline_ui._motion_notify_event_cb(None, event=event) timeline_ui._button_release_event_cb(None, event=event) self.check_layers([layer2, layer3, layer1]) self.action_log.undo() self.check_layers([layer1, layer2, layer3]) self.action_log.redo() self.check_layers([layer2, layer3, layer1])
def testLayerMoved(self): layer1 = self.layer layer2 = self.timeline.append_layer() layer3 = self.timeline.append_layer() self.assertEqual(self.timeline.get_layers(), [layer1, layer2, layer3]) timeline_ui = Timeline(app=self.app, size_group=mock.Mock()) timeline_ui.setProject(self.app.project_manager.current_project) # Click and drag a layer control box to move the layer. with mock.patch.object(Gtk, 'get_event_widget') as get_event_widget: event = mock.Mock() event.get_button.return_value = True, 1 get_event_widget.return_value = layer1.control_ui timeline_ui._button_press_event_cb(None, event=event) with mock.patch.object(layer1.control_ui, "translate_coordinates") as translate_coordinates: translate_coordinates.return_value = (0, 0) with mock.patch.object(timeline_ui, "_get_layer_at") as _get_layer_at: _get_layer_at.return_value = layer3, None timeline_ui._motion_notify_event_cb(None, event=event) timeline_ui._button_release_event_cb(None, event=event) self.check_layers([layer2, layer3, layer1]) self.action_log.undo() self.check_layers([layer1, layer2, layer3]) self.action_log.redo() self.check_layers([layer2, layer3, layer1])
def test_layer_removed(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([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([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([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([layer1, layer3], self.timeline.get_layers()) self.assertEqual([l.props.priority for l in [layer1, layer3]], list(range(2)))
def createTimeline(self, layers_heights): project_manager = ProjectManager(app=None) project_manager.newBlankProject() project = project_manager.current_project timeline = Timeline(container=None, app=None) timeline.get_parent = mock.MagicMock() timeline.setProject(project) y = 0 for priority, height in enumerate(layers_heights): bLayer = timeline.createLayer(priority=priority) rect = Gdk.Rectangle() rect.y = y rect.height = height bLayer.ui.set_allocation(rect) y += height + SEPARATOR_HEIGHT return timeline