diff options
Diffstat (limited to 'test/tc_ui.py')
-rw-r--r-- | test/tc_ui.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/test/tc_ui.py b/test/tc_ui.py new file mode 100644 index 00000000..fbe51f64 --- /dev/null +++ b/test/tc_ui.py @@ -0,0 +1,61 @@ +if __name__ == '__main__': from __init__ import init; init() + +import unittest +import curses + +from ranger.gui import ui + +from test import Fake, OK, raise_ok + +ui.curses = Fake() + +class Test(unittest.TestCase): + def setUp(self): + + self.fm = Fake() + self.ui = ui.UI(env=Fake(), fm=self.fm) + + def fakesetup(): + self.ui.widget = Fake() + self.ui.add_obj(self.ui.widget) + self.ui.setup = fakesetup + + self.ui.initialize() + + def tearDown(self): + self.ui.destroy() + + def test_scrolling(self): + # test whether scrolling works + self.fm.scroll = raise_ok + self.ui.get_focused_obj = lambda: False + + ui.curses.getmouse = lambda: (0, 0, 0, 0, curses.BUTTON2_PRESSED) + self.assertRaises(OK, self.ui.handle_mouse) + + ui.curses.getmouse = lambda: (0, 0, 0, 0, curses.BUTTON4_PRESSED) + self.assertRaises(OK, self.ui.handle_mouse) + + def test_passing(self): + # Test whether certain method calls are passed to widgets + widget = self.ui.widget + + widget.draw = raise_ok + self.assertRaises(OK, self.ui.draw) + widget.__clear__() + + widget.finalize = raise_ok + self.assertRaises(OK, self.ui.finalize) + widget.__clear__() + + widget.press = raise_ok + random_key = 123 + self.assertRaises(OK, self.ui.handle_key, random_key) + widget.__clear__() + + widget.destroy = raise_ok + self.assertRaises(OK, self.ui.destroy) + widget.__clear__() + +if __name__ == '__main__': + unittest.main() |