Exemplo n.º 1
0
    def test_should_stop_observing(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        buf.add_observer(self.observer.notify)
        buf.prepend_record(self._get_line(2))
        buf.remove_observer(self.observer.notify)
        buf.prepend_record(self._get_line(1))
        self.assertEqual(1, self.observer.count)
Exemplo n.º 2
0
    def test_should_get_buffer_instructions_for_forward_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 0, -1):
            buf.prepend_record(self._get_line(i))

        self.assertEqual(((10, False, 5),),
            buf.get_buffer_instructions(ScreenBufferTest.NullDriver()))
Exemplo n.º 3
0
    def test_should_stop_observing(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        buf.add_observer(self.observer.notify)
        buf.prepend_record(self._get_line(2))
        buf.remove_observer(self.observer.notify)
        buf.prepend_record(self._get_line(1))
        self.assertEqual(1, self.observer.count)
Exemplo n.º 4
0
    def test_should_get_buffer_instructions_for_forward_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 0, -1):
            buf.prepend_record(self._get_line(i))

        self.assertEqual(
            ((10, False, 5), ),
            buf.get_buffer_instructions(ScreenBufferTest.NullDriver()))
Exemplo n.º 5
0
    def test_should_change_page_size_at_end_of_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 0, -1):
            buf.prepend_record(self._get_line(i))

        buf.page_size = 3
        cur = buf.get_current_lines()
        self.assertEqual(3, len(cur))
        self.assertEqual('8', cur[0].message)
Exemplo n.º 6
0
    def test_should_go_to_previous_page_with_less_lines_than_page_size(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        buf.prepend_record(self._get_line(1))

        buf.go_to_previous_page()

        cur = buf.get_current_lines()
        self.assertEqual(1, len(cur))
        self.assertEqual('1', cur[0].message)
Exemplo n.º 7
0
    def test_should_prepend_multi_line_record_on_non_empty_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        buf.prepend_record(self._get_line(3))
        buf.prepend_record(self._get_line(2))
        buf.prepend_record(self._get_line(1, 'a\nb'))
        cur = buf.get_current_lines()
        self.assertEqual(2, len(cur))
        self.assertEqual('2', cur[0].message)
        self.assertEqual('3', cur[1].message)
Exemplo n.º 8
0
    def test_should_prepend_multi_line_record_on_empty_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        buf.prepend_record(self._get_line(1, 'a\nb'))
        cur = buf.get_current_lines()
        self.assertEqual(2, len(cur))
        self.assertEqual('a', cur[0].message)
        self.assertEqual(False, cur[0].is_continuation)
        self.assertEqual('b', cur[1].message)
        self.assertEqual(True, cur[1].is_continuation)
Exemplo n.º 9
0
    def test_should_prepend_record_on_empty_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)
        buf.add_observer(self.observer.notify)

        buf.prepend_record(self._get_line(2))
        self.assertEqual(1, self.observer.count)

        cur = buf.get_current_lines()
        self.assertEqual(1, len(cur))
        self.assertEqual('2', cur[0].message)
Exemplo n.º 10
0
    def test_should_prepend_record_on_empty_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)
        buf.add_observer(self.observer.notify)

        buf.prepend_record(self._get_line(2))
        self.assertEqual(1, self.observer.count)

        cur = buf.get_current_lines()
        self.assertEqual(1, len(cur))
        self.assertEqual('2', cur[0].message)
Exemplo n.º 11
0
    def test_should_change_page_size_at_end_of_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 0, -1):
            buf.prepend_record(self._get_line(i))

        buf.page_size = 3
        cur = buf.get_current_lines()
        self.assertEqual(3, len(cur))
        self.assertEqual('8', cur[0].message)
Exemplo n.º 12
0
    def test_should_prepend_multi_line_record_on_non_empty_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        buf.prepend_record(self._get_line(3))
        buf.prepend_record(self._get_line(2))
        buf.prepend_record(self._get_line(1, 'a\nb'))
        cur = buf.get_current_lines()
        self.assertEqual(2, len(cur))
        self.assertEqual('2', cur[0].message)
        self.assertEqual('3', cur[1].message)
Exemplo n.º 13
0
    def test_should_go_to_previous_page_with_less_lines_than_page_size(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        buf.prepend_record(self._get_line(1))

        buf.go_to_previous_page()

        cur = buf.get_current_lines()
        self.assertEqual(1, len(cur))
        self.assertEqual('1', cur[0].message)
Exemplo n.º 14
0
    def test_should_prepend_multi_line_record_on_empty_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        buf.prepend_record(self._get_line(1, 'a\nb'))
        cur = buf.get_current_lines()
        self.assertEqual(2, len(cur))
        self.assertEqual('a', cur[0].message)
        self.assertEqual(False, cur[0].is_continuation)
        self.assertEqual('b', cur[1].message)
        self.assertEqual(True, cur[1].is_continuation)
Exemplo n.º 15
0
    def test_should_go_to_previous_line(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 0, -1):
            buf.prepend_record(self._get_line(i))

        buf.go_to_previous_line()

        cur = buf.get_current_lines()
        self.assertEqual(2, len(cur))
        self.assertEqual('8', cur[0].message)
Exemplo n.º 16
0
    def test_should_go_to_previous_line(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 0, -1):
            buf.prepend_record(self._get_line(i))

        buf.go_to_previous_line()

        cur = buf.get_current_lines()
        self.assertEqual(2, len(cur))
        self.assertEqual('8', cur[0].message)
Exemplo n.º 17
0
    def test_should_not_get_buffer_instructions_for_forward_buffer_if_below_threshold(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 0, -1):
            buf.prepend_record(self._get_line(i))
        buf.go_to_previous_line()
        buf.go_to_previous_line()
        buf.go_to_previous_line()

        self.assertEqual(tuple(),
            buf.get_buffer_instructions(ScreenBufferTest.NullDriver()))
Exemplo n.º 18
0
    def test_should_prepend_record_on_buffer_not_at_end_of_screen(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        buf.append_record(self._get_line(2))
        buf.append_record(self._get_line(3))
        buf.append_record(self._get_line(4))
        buf.go_to_previous_line()
        buf.prepend_record(self._get_line(1))
        cur = buf.get_current_lines()
        self.assertEqual(2, len(cur))
        self.assertEqual('2', cur[0].message)
        self.assertEqual('3', cur[1].message)
Exemplo n.º 19
0
    def test_should_prepend_record_on_buffer_not_at_end_of_screen(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        buf.append_record(self._get_line(2))
        buf.append_record(self._get_line(3))
        buf.append_record(self._get_line(4))
        buf.go_to_previous_line()
        buf.prepend_record(self._get_line(1))
        cur = buf.get_current_lines()
        self.assertEqual(2, len(cur))
        self.assertEqual('2', cur[0].message)
        self.assertEqual('3', cur[1].message)
Exemplo n.º 20
0
    def test_should_not_get_buffer_instructions_for_forward_buffer_if_below_threshold(
            self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 0, -1):
            buf.prepend_record(self._get_line(i))
        buf.go_to_previous_line()
        buf.go_to_previous_line()
        buf.go_to_previous_line()

        self.assertEqual(
            tuple(),
            buf.get_buffer_instructions(ScreenBufferTest.NullDriver()))