예제 #1
0
    def testAbortsActionIfMotionFailedInModeVisual(self, mocked_state):
        vi_cmd_data = {
            'creates_jump_at_current_position': False,
            'is_jump': False,
            'action': 'foo',
            'mode': MODE_VISUAL,
            'cancel_action_if_motion_fails': True,
            'motion': 'bar',
            'motion_required': None,
            'must_update_xpos': False,
            'scroll_into_view': False,
            'next_mode': 10,
            'follow_up_mode': 100,
        }

        self.vi_run.view.sel.return_value = [sublime.Region(0, 2)]

        thing = mock.Mock()
        thing.next_mode = 0
        mocked_state.return_value = thing

        self.vi_run.view.sel.return_value = [500]

        with mock.patch.object(self.vi_run, 'save_caret_pos') as savec, \
             mock.patch.object(self.vi_run, 'do_whole_motion') as dowhm, \
             mock.patch.object(self.vi_run, 'debug') as debug, \
             mock.patch.object(self.vi_run, 'do_post_action') as doposac, \
             mock.patch.object(self.vi_run, 'do_modify_selections') as domodsel, \
             mock.patch.object(self.vi_run, 'restore_original_carets_if_needed') as restorc, \
             mock.patch.object(self.vi_run, 'add_to_jump_list') as addtjl, \
             mock.patch.object(self.vi_run, 'do_action') as doac, \
             mock.patch('Vintageous.run.utils') as ut:

            self.vi_run.run(None, **vi_cmd_data)
            self.assertEqual(savec.call_count, 1)
            self.assertEqual(dowhm.call_count, 1)
            self.assertEqual(debug.call_count, 1)
            self.assertEqual(doposac.call_count, 1)
            self.assertEqual(domodsel.call_count, 1)
            self.assertEqual(restorc.call_count, 2)

            self.assertEqual(thing.next_mode, 10)
            self.assertEqual(thing.next_mode_command, 100)

            self.assertEqual(addtjl.call_count, 0)
            doac.assertEqual(doac.call_count, 0)
            self.assertEqual(ut.blink.call_count, 1)
예제 #2
0
    def testAbortsActionIfMotionFailedInModeVisual(self, mocked_state):
        vi_cmd_data = {
                        'creates_jump_at_current_position': False,
                        'is_jump': False,
                        'action': 'foo',
                        'mode': MODE_VISUAL,
                        'cancel_action_if_motion_fails': True,
                        'motion': 'bar',
                        'motion_required': None,
                        'must_update_xpos': False,
                        'scroll_into_view': False,
                        'next_mode': 10,
                        'follow_up_mode': 100,
                      }

        self.vi_run.view.sel.return_value = [sublime.Region(0, 2)]

        thing = mock.Mock()
        thing.next_mode = 0
        mocked_state.return_value = thing

        self.vi_run.view.sel.return_value = [500]

        with mock.patch.object(self.vi_run, 'save_caret_pos') as savec, \
             mock.patch.object(self.vi_run, 'do_whole_motion') as dowhm, \
             mock.patch.object(self.vi_run, 'debug') as debug, \
             mock.patch.object(self.vi_run, 'do_post_action') as doposac, \
             mock.patch.object(self.vi_run, 'do_modify_selections') as domodsel, \
             mock.patch.object(self.vi_run, 'restore_original_carets_if_needed') as restorc, \
             mock.patch.object(self.vi_run, 'add_to_jump_list') as addtjl, \
             mock.patch.object(self.vi_run, 'do_action') as doac, \
             mock.patch('Vintageous.run.utils') as ut:

                self.vi_run.run(None, **vi_cmd_data)
                self.assertEqual(savec.call_count, 1)
                self.assertEqual(dowhm.call_count, 1)
                self.assertEqual(debug.call_count, 1)
                self.assertEqual(doposac.call_count, 1)
                self.assertEqual(domodsel.call_count, 1)
                self.assertEqual(restorc.call_count, 2)

                self.assertEqual(thing.next_mode, 10)
                self.assertEqual(thing.next_mode_command, 100)

                self.assertEqual(addtjl.call_count, 0)
                doac.assertEqual(doac.call_count, 0)
                self.assertEqual(ut.blink.call_count, 1)
예제 #3
0
    def testSignalsErrorIfLoneMotionFails(self, mocked_state):
        vi_cmd_data = {
            'creates_jump_at_current_position': False,
            'is_jump': False,
            'action': None,
            'mode': MODE_NORMAL,
            'must_update_xpos': False,
            'scroll_into_view': False,
            'next_mode': 10,
            'follow_up_mode': 100,
        }

        self.vi_run.view.sel.return_value = []

        thing = mock.Mock()
        thing.next_mode = 0
        mocked_state.return_value = thing

        self.vi_run.view.sel.return_value = [500]

        with mock.patch.object(self.vi_run, 'save_caret_pos') as savec, \
             mock.patch.object(self.vi_run, 'do_whole_motion') as dowhm, \
             mock.patch.object(self.vi_run, 'debug') as debug, \
             mock.patch.object(self.vi_run, 'do_post_action') as doposac, \
             mock.patch.object(self.vi_run, 'do_modify_selections') as domodsel, \
             mock.patch.object(self.vi_run, 'restore_original_carets_if_needed') as restorc, \
             mock.patch.object(self.vi_run, 'add_to_jump_list') as addtjl, \
             mock.patch('Vintageous.run.utils') as ut:

            self.vi_run.run(None, **vi_cmd_data)
            self.assertEqual(savec.call_count, 1)
            self.assertEqual(dowhm.call_count, 1)
            self.assertEqual(debug.call_count, 1)
            self.assertEqual(doposac.call_count, 1)
            self.assertEqual(domodsel.call_count, 1)
            self.assertEqual(restorc.call_count, 1)

            self.assertEqual(thing.next_mode, 10)
            self.assertEqual(thing.next_mode_command, 100)

            self.assertEqual(addtjl.call_count, 0)
            self.assertEqual(ut.blink.call_count, 1)
예제 #4
0
    def testSignalsErrorIfLoneMotionFails(self, mocked_state):
        vi_cmd_data = {
                        'creates_jump_at_current_position': False,
                        'is_jump': False,
                        'action': None,
                        'mode': MODE_NORMAL,
                        'must_update_xpos': False,
                        'scroll_into_view': False,
                        'next_mode': 10,
                        'follow_up_mode': 100,
                      }

        self.vi_run.view.sel.return_value = []

        thing = mock.Mock()
        thing.next_mode = 0
        mocked_state.return_value = thing

        self.vi_run.view.sel.return_value = [500]

        with mock.patch.object(self.vi_run, 'save_caret_pos') as savec, \
             mock.patch.object(self.vi_run, 'do_whole_motion') as dowhm, \
             mock.patch.object(self.vi_run, 'debug') as debug, \
             mock.patch.object(self.vi_run, 'do_post_action') as doposac, \
             mock.patch.object(self.vi_run, 'do_modify_selections') as domodsel, \
             mock.patch.object(self.vi_run, 'restore_original_carets_if_needed') as restorc, \
             mock.patch.object(self.vi_run, 'add_to_jump_list') as addtjl, \
             mock.patch('Vintageous.run.utils') as ut:

                self.vi_run.run(None, **vi_cmd_data)
                self.assertEqual(savec.call_count, 1)
                self.assertEqual(dowhm.call_count, 1)
                self.assertEqual(debug.call_count, 1)
                self.assertEqual(doposac.call_count, 1)
                self.assertEqual(domodsel.call_count, 1)
                self.assertEqual(restorc.call_count, 1)

                self.assertEqual(thing.next_mode, 10)
                self.assertEqual(thing.next_mode_command, 100)

                self.assertEqual(addtjl.call_count, 0)
                self.assertEqual(ut.blink.call_count, 1)