[nyx/master] Make test dimensions a constant

commit 0a87754f0a597be30a8114091f0bd2dcdc24048b Author: Damian Johnson <atagar@torproject.org> Date: Thu Jul 21 09:38:55 2016 -0700 Make test dimensions a constant It's a static tuple value. This should be a constant. --- nyx/curses.py | 16 +++++++--------- test/subwindow.py | 37 +++++++++++++++++-------------------- 2 files changed, 24 insertions(+), 29 deletions(-) diff --git a/nyx/curses.py b/nyx/curses.py index 004a480..e87239c 100644 --- a/nyx/curses.py +++ b/nyx/curses.py @@ -336,16 +336,14 @@ def _handle_key(textbox, key): def _handle_history_key(next_handler, backlog, textbox, key): """ - Handles history validation. When the up/down arrow keys are pressed, - the relative previous/next commands are shown. + Allows user to select previous inputs when pressing up/down. :param func next_handler: handler to invoke after this - :param list backlog: backlog of all previous commands entered + :param list backlog: backlog of all previous commands :param Textbox textbox: current textbox context :param int key: key pressed - :returns: **None** if up/down arrow key is pressed or calls function - to write key to the textbox + :returns: **None** if up/down is pressed, otherwise invokes next handler """ global HISTORY_DICT @@ -382,16 +380,15 @@ def _handle_history_key(next_handler, backlog, textbox, key): def _handle_tab_completion(next_handler, tab_completion, textbox, key): """ - Handles tab completion. If the tab key is pressed, the current textbox - contents are checked for probable commands. + Allows user to tab complete commands if sufficient context is provided to + narrow to a single option. :param func next_handler: handler to invoke after this :param func tab_completion: function to suggest inputs to tab complete with :param Textbox textbox: current textbox context :param int key: key pressed - :returns: **None** when tab key is pressed or calls function to handle - history validation + :returns: **None** when tab is pressed, otherwise invokes next handler """ if key == 9: @@ -403,6 +400,7 @@ def _handle_tab_completion(next_handler, tab_completion, textbox, key): new_input = matches[0] elif len(matches) > 1: common_prefix = os.path.commonprefix(matches) + if common_prefix != current_contents: new_input = common_prefix diff --git a/test/subwindow.py b/test/subwindow.py index 559c451..2a03007 100644 --- a/test/subwindow.py +++ b/test/subwindow.py @@ -69,6 +69,7 @@ EXPECTED_SCROLLBAR_BOTTOM = """ """.strip() NO_OP_HANDLER = lambda key, textbox: None +DIMENSIONS = (40, 80) class TestCurses(unittest.TestCase): @@ -126,56 +127,53 @@ class TestCurses(unittest.TestCase): self.assertEqual(EXPECTED_SCROLLBAR_BOTTOM, test.render(_draw).content.strip()) def test_handle_key(self): - dimensions = (40, 80) - textbox = Mock() - textbox.win.getyx.return_value = dimensions + textbox.win.getyx.return_value = DIMENSIONS self.assertEqual(curses.ascii.BEL, nyx.curses._handle_key(textbox, 27)) textbox = Mock() - textbox.win.getyx.return_value = dimensions + textbox.win.getyx.return_value = DIMENSIONS textbox.win.move = Mock() - expected_call = call(dimensions[0], 0) + expected_call = call(DIMENSIONS[0], 0) nyx.curses._handle_key(textbox, curses.KEY_HOME) self.assertTrue(textbox.win.move.called) self.assertEquals(expected_call, textbox.win.move.call_args) textbox = Mock() - textbox.win.getyx.return_value = dimensions + textbox.win.getyx.return_value = DIMENSIONS textbox.gather.return_value = 'Sample Text' textbox.win.move = Mock() - expected_call = call(*dimensions) + expected_call = call(*DIMENSIONS) nyx.curses._handle_key(textbox, curses.KEY_RIGHT) self.assertTrue(textbox.win.move.called) self.assertEquals(expected_call, textbox.win.move.call_args) textbox = Mock() - textbox.win.getyx.return_value = dimensions + textbox.win.getyx.return_value = DIMENSIONS self.assertEqual(curses.ascii.BEL, nyx.curses._handle_key(textbox, 410)) textbox = Mock() - textbox.win.getyx.return_value = dimensions + textbox.win.getyx.return_value = DIMENSIONS key_pressed = ord('a') self.assertEqual(key_pressed, nyx.curses._handle_key(textbox, key_pressed)) def test_handle_history_key(self): backlog = ['GETINFO version'] - dimensions = (40, 80) textbox = Mock() - textbox.win.getyx.return_value = dimensions + textbox.win.getyx.return_value = DIMENSIONS self.assertIsNone(nyx.curses._handle_history_key(NO_OP_HANDLER, [], textbox, curses.KEY_UP)) textbox = Mock() - textbox.win.getyx.return_value = dimensions - textbox.win.getmaxyx.return_value = dimensions + textbox.win.getyx.return_value = DIMENSIONS + textbox.win.getmaxyx.return_value = DIMENSIONS textbox.win.addstr = Mock() textbox.win.move = Mock() nyx.curses._handle_history_key(NO_OP_HANDLER, backlog, textbox, curses.KEY_UP) self.assertTrue(textbox.win.clear.called) - expected_addstr_call = call(dimensions[0], 0, backlog[0]) + expected_addstr_call = call(DIMENSIONS[0], 0, backlog[0]) self.assertEqual(expected_addstr_call, textbox.win.addstr.call_args) - expected_move_call = call(dimensions[0], len(backlog[0])) + expected_move_call = call(DIMENSIONS[0], len(backlog[0])) self.assertEqual(expected_move_call, textbox.win.move.call_args) textbox = Mock() @@ -185,19 +183,18 @@ class TestCurses(unittest.TestCase): @patch('nyx.curses._handle_history_key') def test_handle_tab_completion(self, mock_handle_history_key): - dimensions = (40, 80) tab_completion_content = 'GETINFO version' textbox = Mock() - textbox.win.getyx.return_value = dimensions - textbox.win.getmaxyx.return_value = dimensions + textbox.win.getyx.return_value = DIMENSIONS + textbox.win.getmaxyx.return_value = DIMENSIONS textbox.win.addstr = Mock() textbox.win.move = Mock() tab_completion = Mock() tab_completion.return_value = [tab_completion_content] nyx.curses._handle_tab_completion(NO_OP_HANDLER, tab_completion, textbox, 9) self.assertTrue(textbox.win.clear.called) - expected_addstr_call = call(dimensions[0], 0, tab_completion_content) + expected_addstr_call = call(DIMENSIONS[0], 0, tab_completion_content) self.assertEqual(expected_addstr_call, textbox.win.addstr.call_args) - expected_move_call = call(dimensions[0], len(tab_completion_content)) + expected_move_call = call(DIMENSIONS[0], len(tab_completion_content)) self.assertTrue(expected_move_call, textbox.win.move.call_args)
participants (1)
-
atagar@torproject.org