Example #1
0
 def assert_undo(self, diagram, slow=False):
     states = [terminal_dsl.parse_term_state(x)[1]
               for x in terminal_dsl.divide_term_states(diagram)]
     if len(states) < 2:
         raise ValueError("Diagram has only one state")
     with UndoScenario(states[0]) as t:
         UndoScenario.initialize(t, states[0])
         if slow: time.sleep(1)
         for before, after in zip(states[:-1], states[1:]):
             self.resize(before, after, t)
             if slow: time.sleep(1)
             if self.should_undo(before, after):
                 restore(t)
                 if slow: time.sleep(1)
             actual = terminal_dsl.TerminalState.from_tmux_pane(t)
             self.assertEqual(after, actual, after.visible_diff(actual))
             self.assertEqual(tmux.all_contents(t),
                              rewrite.linesplit(after.lines, after.width))
Example #2
0
 def test_linesplit(self):
     self.assertEqual(rewrite.linesplit(["1234", "123456"], 4),
                      ["1234", "1234", "56"])
     self.assertEqual(rewrite.linesplit(["1234", "123456"], 10),
                      ["1234", "123456"])