Example #1
0
    def test_should_not_stop_fetching_if_forward_fetch_returns_fewer_records(
            self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        drv = ScreenBufferTest.FakeDriver(self.queue)

        self.queue.push_backward_records(14, 7)
        buf.get_records(drv)

        buf.go_to_previous_line()
        self.queue.push(None)
        buf.get_records(drv)

        buf.go_to_previous_page()
        buf.go_to_previous_page()

        self.queue.push_backward_records(7, 7)
        buf.get_records(drv)

        buf.go_to_previous_page()
        cur = buf.get_current_lines()

        self.assertEqual(2, len(cur))
        self.assertEqual('6', cur[0].message)
        self.assertEqual('7', cur[1].message)
Example #2
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)
    def test_should_get_buffer_instructions_for_backward_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 20):
            buf.append_record(self._get_line(i + 1))
        for i in range(0, 3):
            buf.go_to_previous_page()

        self.assertEqual(((11, True, 5),),
            buf.get_buffer_instructions(ScreenBufferTest.NullDriver()))
    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)
Example #5
0
    def test_should_get_buffer_instructions_for_backward_buffer(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 20):
            buf.append_record(self._get_line(i + 1))
        for i in range(0, 3):
            buf.go_to_previous_page()

        self.assertEqual(
            ((11, True, 5), ),
            buf.get_buffer_instructions(ScreenBufferTest.NullDriver()))
    def test_should_not_get_timeout_if_backward_fetch_returns_fewer_records(self):
        buf = ScreenBuffer(2, buffer_size=5, timeout=13)
        drv = ScreenBufferTest.FakeDriver(self.queue)

        self.queue.push_backward_records(14, 7)
        buf.get_records(drv)

        buf.go_to_previous_page()
        buf.go_to_previous_page()
        self.queue.push_backward_records(7, 4)
        self.assertIsNone(buf.get_records(drv))
    def test_should_not_get_buffer_instructions_for_backward_buffer_if_below_threshold(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 20):
            buf.append_record(self._get_line(i + 1))
        buf.go_to_previous_page()
        buf.go_to_previous_page()
        buf.go_to_previous_line()

        self.assertEqual(tuple(),
            buf.get_buffer_instructions(ScreenBufferTest.NullDriver()))
Example #8
0
    def test_should_not_get_timeout_if_backward_fetch_returns_fewer_records(
            self):
        buf = ScreenBuffer(2, buffer_size=5, timeout=13)
        drv = ScreenBufferTest.FakeDriver(self.queue)

        self.queue.push_backward_records(14, 7)
        buf.get_records(drv)

        buf.go_to_previous_page()
        buf.go_to_previous_page()
        self.queue.push_backward_records(7, 4)
        self.assertIsNone(buf.get_records(drv))
Example #9
0
    def test_should_change_page_size_before_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.go_to_previous_page()
        buf.page_size = 3

        cur = buf.get_current_lines()
        self.assertEqual(3, len(cur))
        self.assertEqual('7', cur[0].message)
Example #10
0
    def test_should_go_to_next_line(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10):
            buf.append_record(self._get_line(i + 1))

        buf.go_to_previous_page()
        buf.go_to_next_line()

        cur = buf.get_current_lines()
        self.assertEqual(2, len(cur))
        self.assertEqual('8', cur[0].message)
    def test_should_change_page_size_before_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.go_to_previous_page()
        buf.page_size = 3

        cur = buf.get_current_lines()
        self.assertEqual(3, len(cur))
        self.assertEqual('7', cur[0].message)
    def test_should_go_to_next_line(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10):
            buf.append_record(self._get_line(i + 1))

        buf.go_to_previous_page()
        buf.go_to_next_line()

        cur = buf.get_current_lines()
        self.assertEqual(2, len(cur))
        self.assertEqual('8', cur[0].message)
Example #13
0
    def test_should_not_get_buffer_instructions_for_backward_buffer_if_below_threshold(
            self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        for i in range(10, 20):
            buf.append_record(self._get_line(i + 1))
        buf.go_to_previous_page()
        buf.go_to_previous_page()
        buf.go_to_previous_line()

        self.assertEqual(
            tuple(),
            buf.get_buffer_instructions(ScreenBufferTest.NullDriver()))
    def test_should_stop_fetching_if_fetch_returns_less_records_than_asked(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        drv = ScreenBufferTest.FakeDriver(self.queue)

        self.queue.push_backward_records(6, 6)

        buf.get_records(drv)

        buf.go_to_previous_page()
        buf.go_to_previous_page()

        buf.get_records(drv)

        cur = buf.get_current_lines()

        self.assertEqual(2, len(cur))
        self.assertEqual('1', cur[0].message)
        self.assertEqual('2', cur[1].message)
Example #15
0
    def test_should_stop_fetching_if_fetch_returns_less_records_than_asked(
            self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        drv = ScreenBufferTest.FakeDriver(self.queue)

        self.queue.push_backward_records(6, 6)

        buf.get_records(drv)

        buf.go_to_previous_page()
        buf.go_to_previous_page()

        buf.get_records(drv)

        cur = buf.get_current_lines()

        self.assertEqual(2, len(cur))
        self.assertEqual('1', cur[0].message)
        self.assertEqual('2', cur[1].message)
    def test_should_not_stop_fetching_if_fetch_returns_correct_number_of_records(self):
        buf = ScreenBuffer(page_size=2, buffer_size=5)

        drv = ScreenBufferTest.FakeDriver(self.queue)

        self.queue.push_backward_records(14, 7)
        buf.get_records(drv)

        buf.go_to_previous_page()
        buf.go_to_previous_page()

        self.queue.push_backward_records(7, 7)
        buf.get_records(drv)

        buf.go_to_previous_page()
        cur = buf.get_current_lines()

        self.assertEqual(2, len(cur))
        self.assertEqual('7', cur[0].message)
        self.assertEqual('8', cur[1].message)