| 158 | @skip_if_windows("Ctrl-C not valid on windows.") |
| 159 | def test_can_handle_ctrl_c(self): |
| 160 | class CtrlCRenderer(FakePosixHelpRenderer): |
| 161 | def _popen(self, *args, **kwargs): |
| 162 | if self._is_pager_call(args): |
| 163 | os.kill(os.getpid(), signal.SIGINT) |
| 164 | return self.mock_popen |
| 165 | |
| 166 | def _is_pager_call(self, args): |
| 167 | return 'less' in args[0] |
| 168 | |
| 169 | renderer = CtrlCRenderer() |
| 170 | renderer.mock_popen.communicate.return_value = ('send to pager', '') |
no outgoing calls