コード例 #1
0
ファイル: ttyfe_tests.py プロジェクト: andersk/snipe
 def test_resize_window1(self):
     with mocks.mocked_up_actual_fe() as fe:
         fe.split_window(window.Window(fe))
         fe.split_window(window.Window(fe))
         fe.balance_windows()
         self.assertEqual([w.height for w in fe.windows], [8, 8, 8])
         fe.set_active(1)
         self.assertEqual(fe.resize_current_window(1), 1)
         self.assertEqual([w.height for w in fe.windows], [8, 9, 7])
         self.assertEqual([w.y for w in fe.windows], [0, 8, 17])
         self.assertEqual(fe.resize_current_window(5), 5)
         self.assertEqual([w.height for w in fe.windows], [7, 14, 3])
         self.assertEqual([w.y for w in fe.windows], [0, 7, 21])
コード例 #2
0
ファイル: ttyfe_tests.py プロジェクト: andersk/snipe
    def test_window_management_1(self):
        with mocks.mocked_up_actual_fe() as fe:
            fe.split_window(window.Window(fe))
            fe.split_window(window.Window(fe))

            fe.context.status = fe.windows[fe.output].window

            self.assertRaises(Exception, lambda: fe.delete_current_window())

            fe.context.status = None

            fe.delete_other_windows()

            self.assertEqual(len(fe.windows), 1)
            self.assertEqual(fe.output, 0)
コード例 #3
0
ファイル: ttyfe_tests.py プロジェクト: andersk/snipe
 def test_resize_window_noresize(self):
     with mocks.mocked_up_actual_fe() as fe:
         fe.split_window(window.Window(fe))
         fe.windows[0].window.noresize = True
         self.assertEqual(fe.resize_current_window(1), 0)
         self.assertEqual([w.height for w in fe.windows], [12, 12])
         self.assertEqual([w.y for w in fe.windows], [0, 12])
コード例 #4
0
ファイル: ttyfe_tests.py プロジェクト: andersk/snipe
 def test_resize_window0(self):
     with mocks.mocked_up_actual_fe() as fe:
         fe.split_window(window.Window(fe))
         self.assertEqual([w.height for w in fe.windows], [12, 12])
         fe.set_active(1)
         self.assertEqual(fe.resize_current_window(1), 1)
         self.assertEqual([w.height for w in fe.windows], [11, 13])
         self.assertEqual([w.y for w in fe.windows], [0, 11])
コード例 #5
0
ファイル: ttyfe_tests.py プロジェクト: andersk/snipe
 def test_resize_window(self):
     with mocks.mocked_up_actual_fe() as fe:
         self.assertEqual(fe.maxy, 24)
         self.assertEqual([w.height for w in fe.windows], [24])
         self.assertEqual([w.y for w in fe.windows], [0])
         self.assertEqual(fe.resize_current_window(10), 0)
         self.assertEqual([w.height for w in fe.windows], [24])
         self.assertEqual(fe.resize_current_window(-10), 0)
         self.assertEqual([w.height for w in fe.windows], [24])
         fe.split_window(window.Window(fe))
         self.assertEqual([w.height for w in fe.windows], [12, 12])
         self.assertEqual([w.y for w in fe.windows], [0, 12])
         self.assertEqual(fe.resize_current_window(1), 1)
         self.assertEqual([w.height for w in fe.windows], [13, 11])
         self.assertEqual([w.y for w in fe.windows], [0, 13])
         fe.set_active(1)
         self.assertEqual(fe.resize_current_window(1), 1)
         self.assertEqual([w.height for w in fe.windows], [12, 12])
         self.assertEqual([w.y for w in fe.windows], [0, 12])
         self.assertEqual(fe.resize_current_window(1), 1)
         self.assertEqual([w.height for w in fe.windows], [11, 13])
         self.assertEqual([w.y for w in fe.windows], [0, 11])
         self.assertEqual(fe.resize_current_window(-1), -1)
         self.assertEqual([w.height for w in fe.windows], [12, 12])
         self.assertEqual([w.y for w in fe.windows], [0, 12])
         fe.set_active(0)
         self.assertEqual(fe.resize_current_window(-1), -1)
         self.assertEqual([w.height for w in fe.windows], [11, 13])
         self.assertEqual([w.y for w in fe.windows], [0, 11])
         self.assertEqual(fe.resize_current_window(1), 1)
         fe.split_window(window.Window(fe))
         fe.split_window(window.Window(fe))
         fe.balance_windows()
         self.assertEqual([w.height for w in fe.windows], [6, 6, 6, 6])
         self.assertEqual([w.y for w in fe.windows], [0, 6, 12, 18])
         self.assertEqual(fe.resize_current_window(10), 9)
         self.assertEqual([w.height for w in fe.windows], [15, 3, 3, 3])
         self.assertEqual([w.y for w in fe.windows], [0, 15, 18, 21])
         fe.set_active(3)
         self.assertEqual(fe.resize_current_window(5), 5)
         self.assertEqual([w.height for w in fe.windows], [10, 3, 3, 8])
         self.assertEqual([w.y for w in fe.windows], [0, 10, 13, 16])
コード例 #6
0
    def test_set_cheatsheet(self):
        w = window.Window(None)
        c = []
        w.set_cheatsheet(c)
        self.assertIs(w.cheatsheet, c)
        self.assertIs(w._normal_cheatsheet, c)

        k = keymap.Keymap()
        k.set_cheatsheet(['bar'])
        w.maybe_install_cheatsheet(k)
        self.assertEqual(w.cheatsheet, ['bar'])
コード例 #7
0
ファイル: ttyfe_tests.py プロジェクト: andersk/snipe
    def test_window_management_3(self):
        with mocks.mocked_up_actual_fe() as fe:
            fe.split_window(window.Window(fe))
            self.assertEqual(len(fe.windows), 2)

            fe.split_window(window.Window(fe))
            self.assertEqual([w.height for w in fe.windows], [6, 6, 12])

            fe.delete_window(1)

            self.assertEqual([w.height for w in fe.windows], [12, 12])

            fe.delete_window(0)
            self.assertEqual(fe.windows[0].height, 24)

            fe.split_window(window.Window(fe))
            fe.split_window(window.Window(fe))
            fe.set_active(2)
            fe.split_window(window.Window(fe))

            self.assertEqual([w.height for w in fe.windows], [6, 6, 6, 6])

            fe.windows[1].window.noresize = True

            fe.delete_window(0)
            self.assertEqual([w.height for w in fe.windows], [6, 12, 6])

            fe.delete_window(1)
            self.assertEqual([w.height for w in fe.windows], [6, 18])

            self.assertRaises(Exception, lambda: fe.delete_window(1))
            self.assertEqual([w.height for w in fe.windows], [6, 18])

            fe.set_active(1)
            fe.windows[0].window.noactive = True
            fe.switch_window(1)
            self.assertEqual(fe.output, 1)

            fe.delete_window(0)
            self.assertEqual(fe.windows[0].height, 24)
コード例 #8
0
ファイル: ttyfe_tests.py プロジェクト: andersk/snipe
    def test_window_management_4(self):
        with mocks.mocked_up_actual_fe() as fe:
            fe.split_window(window.Window(fe))
            self.assertEqual([w.height for w in fe.windows], [12, 12])

            fe.popup_window(window.Window(fe), 1, fe.windows[0].window, True)
            self.assertEqual([w.height for w in fe.windows], [11, 1, 12])

            fe.set_active(0)
            fe.delete_other_windows()
            self.assertEqual([w.height for w in fe.windows], [24])

            fe.split_window(window.Window(fe))
            fe.split_window(window.Window(fe))
            self.assertEqual([w.height for w in fe.windows], [6, 6, 12])

            fe.windows[1].window.noactive = True
            self.assertEqual(fe.output, 0)
            fe.delete_current_window()
            self.assertEqual(fe.output, 1)

            fe.delete_window(0)
            self.assertEqual([w.height for w in fe.windows], [24])
コード例 #9
0
ファイル: ttyfe_tests.py プロジェクト: andersk/snipe
    def test_window_management_2(self):
        with mocks.mocked_up_actual_fe() as fe:
            # popup a window
            fe.popup_window(window.Window(fe), 1, fe.windows[0].window)
            self.assertEqual(len(fe.windows), 2)
            self.assertEqual(fe.output, 1)
            # popup one over that
            fe.popup_window(window.Window(fe), 1, fe.windows[1].window)
            self.assertEqual(len(fe.windows), 2)
            self.assertEqual(fe.output, 1)

            # should bring the old popup back
            fe.delete_current_window()
            # switches back to the original indow
            self.assertEqual(fe.output, 0)

            self.assertEqual(len(fe.windows), 2)

            fe.set_active(1)
            fe.delete_current_window()
            # should take care of that
            self.assertEqual(fe.output, 0)

            self.assertEqual(len(fe.windows), 1)
コード例 #10
0
    def test_misc(self):
        called = False

        def destroy_cb():
            nonlocal called
            called = True
        with mocks.mocked_up_actual_fe_window(
                lambda fe: window.Window(fe, destroy=destroy_cb)) as w:
            self.assertEqual(w.focus(), True)
            w.destroy()
            self.assertEqual(called, True)

            self.assertEqual(w.title(), 'Window')
            self.assertEqual(w.modeline(), (
                [(set(), 'Window')],
                [({'right'}, '1')]))
コード例 #11
0
ファイル: ttyfe_tests.py プロジェクト: andersk/snipe
    def test_window_management_0(self):
        with mocks.mocked_up_actual_fe() as fe:
            self.assertEqual(fe.maxy, 24)

            fe.split_window(window.Window(fe), False)

            self.assertEqual(fe.input, 0)

            fe.delete_current_window()

            self.assertEqual(fe.input, 0)

            fe.split_window(window.Window(fe), True)

            self.assertEqual(fe.input, 1)

            self.assertEqual(len(fe.windows), 2)

            fe.split_window(window.Window(fe))

            self.assertEqual(len(fe.windows), 3)

            fe.split_window(window.Window(fe))

            self.assertEqual(len(fe.windows), 4)

            self.assertRaises(Exception,
                              lambda: fe.split_window(window.Window(fe)))

            fe.delete_current_window()

            self.assertEqual(len(fe.windows), 3)

            fe.delete_other_windows()

            self.assertEqual(len(fe.windows), 1)

            self.assertRaises(
                Exception,
                lambda: fe.delete_window_window(fe.windows[0].window))

            # would raise if it actually tried to delete anything
            fe.delete_window_window(window.Window(fe))
コード例 #12
0
ファイル: ttyfe_tests.py プロジェクト: andersk/snipe
    def test_balance_windows(self):
        with mocks.mocked_up_actual_fe() as fe:
            fe.balance_windows()

            self.assertEqual([w.height for w in fe.windows], [24])

            fe.split_window(window.Window(fe))
            fe.split_window(window.Window(fe))
            self.assertEqual([w.height for w in fe.windows], [6, 6, 12])

            fe.balance_windows()

            self.assertEqual([w.height for w in fe.windows], [8, 8, 8])

            fe.split_window(window.Window(fe))
            fe.balance_windows()

            self.assertEqual([w.height for w in fe.windows], [6, 6, 6, 6])

            fe.split_window(window.Window(fe))
            fe.balance_windows()

            self.assertEqual([w.height for w in fe.windows], [5, 5, 5, 5, 4])

            fe.windows[0].window.noresize = True
            fe.context.status = fe.windows[0].window
            fe.set_active(1)
            fe.delete_other_windows()

            self.assertEqual([w.height for w in fe.windows], [5, 19])

            fe.split_window(window.Window(fe))
            fe.split_window(window.Window(fe))
            self.assertEqual([w.height for w in fe.windows], [5, 4, 5, 10])

            fe.balance_windows()

            self.assertEqual([w.height for w in fe.windows], [5, 7, 6, 6])
コード例 #13
0
 def test_mode(self):
     class AMode:
         cheatsheet = ['foo']
     w = window.Window(None, modes=[AMode()])
     self.assertEqual(w.cheatsheet[-1], 'foo')
コード例 #14
0
 def test_init(self):
     w = window.Window(mocks.FE())
     w.renderer = mocks.Renderer()
     w.cursor = object()
     x = window.Window(mocks.FE(), prototype=w)
     self.assertIs(w.cursor, x.cursor)