def test_model_commit_clears_redo_log(self): model = CanvasModel(self.eb) model.commit([ Insert(R(1, 1, 1, 1)) ]) model.commit([ Insert(R(2, 2, 2, 2)) ]) model.undo() model.commit([ Insert(R(3, 3, 3, 3)) ]) # this one clears redo log assert model._elems == [ R(1, 1, 1, 1), R(3, 3, 3, 3) ] assert model._changelog == [ [Insert(R(1, 1, 1, 1))], [Insert(R(3, 3, 3, 3))] ] assert model._redolog == []
def test_model_one_undo_redo(self): model = CanvasModel(self.eb) model.commit([ Insert(R(1, 1, 1, 1)) ]) assert model._elems == [ R(1, 1, 1, 1) ] assert model._changelog == [ [ Insert(R(1, 1, 1, 1)) ] ] assert model._redolog == [] model.undo() assert model._elems == [] assert model._changelog == [] assert model._redolog == [ [ Insert(R(1, 1, 1, 1)) ] ] model.redo() assert model._elems == [ R(1, 1, 1, 1) ] assert model._changelog == [ [ Insert(R(1, 1, 1, 1)) ] ] assert model._redolog == []