def test_with_confirmation_select_second(self, capsys, patch_getch, commands): patch_getch(['\x1b', '[', 'B', '\n']) assert ui.select_command(commands, Mock(debug=False, no_color=True, require_confirmation=True)) == commands[1] assert capsys.readouterr() == ( '', u'\x1b[1K\rls [enter/↑/↓/ctrl+c]\x1b[1K\rcd [enter/↑/↓/ctrl+c]\n')
def test_without_confirmation_with_side_effects(self, capsys, commands_with_side_effect, settings): settings.require_confirmation = False assert (ui.select_command( iter(commands_with_side_effect)) == commands_with_side_effect[0]) assert capsys.readouterr() == ('', 'ls (+side effect)\n')
def test_with_confirmation_with_side_effct(self, capsys, patch_get_key, commands_with_side_effect): patch_get_key(['\n']) assert (ui.select_command( iter(commands_with_side_effect)) == commands_with_side_effect[0]) assert capsys.readouterr() == ( '', u'\x1b[1K\rls (+side effect) [enter/↑/↓/ctrl+c]\n')
def test_with_confirmation(self, capsys, patch_get_key, commands): patch_get_key(["\n"]) assert ui.select_command(iter(commands)) == commands[0] assert capsys.readouterr() == ( "", const.USER_COMMAND_MARK + u"\x1b[1K\rls [enter/↑/↓/ctrl+c]\n", )
def test_with_confirmation(self, capsys, patch_getch, commands): patch_getch(['\n']) assert ui.select_command( commands, Mock(debug=False, no_color=True, require_confirmation=True)) == commands[0] assert capsys.readouterr() == ('', u'\x1b[1K\rls [enter/↑/↓/ctrl+c]\n')
def test_without_confirmation_with_side_effects(self, capsys, commands_with_side_effect): assert ui.select_command(commands_with_side_effect, Mock(debug=False, no_color=True, require_confirmation=False)) \ == commands_with_side_effect[0] assert capsys.readouterr() == ('', 'ls (+side effect)\n')
def test_with_confirmation_select_second(self, capsys, patch_get_key, commands): patch_get_key([const.KEY_DOWN, '\n']) assert ui.select_command(iter(commands)) == commands[1] assert capsys.readouterr() == ( '', u'\x1b[1K\rls [enter/↑/↓/ctrl+c]\x1b[1K\rcd [enter/↑/↓/ctrl+c]\n')
def test_with_confirmation_with_side_effct(self, capsys, patch_getch, commands_with_side_effect): patch_getch(['\n']) assert ui.select_command(commands_with_side_effect, Mock(debug=False, no_color=True, require_confirmation=True))\ == commands_with_side_effect[0] assert capsys.readouterr() == ('', u'\x1b[1K\rls (+side effect) [enter/↑/↓/ctrl+c]\n')
def test_with_confirmation_select_second(self, capsys, patch_get_key, commands): patch_get_key([const.KEY_DOWN, '\n']) assert ui.select_command(iter(commands)) == commands[1] stderr = ( u'{mark}\x1b[1K\rls [enter/↑/↓/ctrl+c]' u'{mark}\x1b[1K\rcd [enter/↑/↓/ctrl+c]\n' ).format(mark=const.USER_COMMAND_MARK) assert capsys.readouterr() == ('', stderr)
def test_with_confirmation_abort(self, capsys, patch_get_key, commands): patch_get_key([const.KEY_CTRL_C]) assert ui.select_command(iter(commands)) is None assert capsys.readouterr() == ( "", const.USER_COMMAND_MARK + u"\x1b[1K\rls [enter/↑/↓/ctrl+c]\nAborted\n", )
def test_with_confirmation_abort(self, capsys, patch_getch, commands): patch_getch([KeyboardInterrupt]) assert ui.select_command( commands, Mock(debug=False, no_color=True, require_confirmation=True)) is None assert capsys.readouterr() == ( '', u'\x1b[1K\rls [enter/↑/↓/ctrl+c]\nAborted\n')
def test_with_confirmation_with_side_effct(self, capsys, patch_getch, commands_with_side_effect): patch_getch(['\n']) assert ui.select_command(commands_with_side_effect, Mock(debug=False, no_color=True, require_confirmation=True))\ == commands_with_side_effect[0] assert capsys.readouterr() == ( '', u'\x1b[1K\rls (+side effect) [enter/↑/↓/ctrl+c]\n')
def test_without_confirmation_with_side_effects(self, capsys, commands_with_side_effect, settings): settings.require_confirmation = False assert (ui.select_command( iter(commands_with_side_effect)) == commands_with_side_effect[0]) assert capsys.readouterr() == ( "", const.USER_COMMAND_MARK + "ls (+side effect)\n", )
def test_with_confirmation_with_side_effct(self, capsys, patch_get_key, commands_with_side_effect): patch_get_key(["\n"]) assert (ui.select_command( iter(commands_with_side_effect)) == commands_with_side_effect[0]) assert capsys.readouterr() == ( "", const.USER_COMMAND_MARK + u"\x1b[1K\rls (+side effect) [enter/↑/↓/ctrl+c]\n", )
def test_without_confirmation(self, capsys, commands): assert ui.select_command( commands, Mock(debug=False, no_color=True, require_confirmation=False)) == commands[0] assert capsys.readouterr() == ('', 'ls\n')
def test_without_commands(self, capsys): assert ui.select_command([], Mock(debug=False, no_color=True)) is None assert capsys.readouterr() == ('', 'No f***s given\n')
def test_with_confirmation(self, capsys, patch_get_key, commands): patch_get_key(['\n']) assert ui.select_command(iter(commands)) == commands[0] assert capsys.readouterr() == ('', u'\x1b[1K\rls [enter/↑/↓/ctrl+c]\n')
def test_without_confirmation(self, capsys, commands, settings): settings.require_confirmation = False assert ui.select_command(iter(commands)) == commands[0] assert capsys.readouterr() == ('', 'ls\n')
def test_with_confirmation_with_side_effct(self, capsys, patch_get_key, commands_with_side_effect): patch_get_key(['\n']) assert ui.select_command(iter(commands_with_side_effect)) \ == commands_with_side_effect[0] assert capsys.readouterr() == ('', u'\x1b[1K\rls (+side effect) [enter/↑/↓/ctrl+c]\n')
def test_with_confirmation_one_match(self, capsys, patch_getch, commands): patch_getch(['\n']) assert ui.select_command((commands[0],), Mock(debug=False, no_color=True, require_confirmation=True)) == commands[0] assert capsys.readouterr() == ('', u'\x1b[1K\rls [enter/ctrl+c]\n')
def test_with_confirmation_abort(self, capsys, patch_getch, commands): patch_getch([KeyboardInterrupt]) assert ui.select_command(iter(commands)) is None assert capsys.readouterr() == ('', u'\x1b[1K\rls [enter/↑/↓/ctrl+c]\nAborted\n')
def test_with_confirmation_abort(self, capsys, patch_getch, commands): patch_getch([KeyboardInterrupt]) assert ui.select_command(commands, Mock(debug=False, no_color=True, require_confirmation=True)) is None assert capsys.readouterr() == ('', u'\x1b[1K\rls [enter/↑/↓/ctrl+c]\nAborted\n')
def test_without_confirmation(self, capsys, commands, settings): settings.require_confirmation = False assert ui.select_command(iter(commands)) == commands[0] assert capsys.readouterr() == ("", const.USER_COMMAND_MARK + "ls\n")
def test_without_commands(self, capsys): assert ui.select_command(iter([])) is None assert capsys.readouterr() == ('', 'No f***s given\n')
def test_with_confirmation_abort(self, capsys, patch_getch, commands): patch_getch([KeyboardInterrupt]) assert ui.select_command(iter(commands)) is None assert capsys.readouterr() == ( '', u'\x1b[1K\rls [enter/↑/↓/ctrl+c]\nAborted\n')
def test_without_confirmation_with_side_effects( self, capsys, commands_with_side_effect, settings): settings.require_confirmation = False assert ui.select_command(iter(commands_with_side_effect)) \ == commands_with_side_effect[0] assert capsys.readouterr() == ('', 'ls (+side effect)\n')
def test_with_confirmation_abort(self, capsys, patch_get_key, commands): patch_get_key([const.KEY_CTRL_C]) assert ui.select_command(iter(commands)) is None assert capsys.readouterr() == ('', u'\x1b[1K\rls [enter/↑/↓/ctrl+c]\nAborted\n')
def test_without_confirmation(self, capsys, commands): assert ui.select_command(commands, Mock(debug=False, no_color=True, require_confirmation=False)) == commands[0] assert capsys.readouterr() == ('', 'ls\n')