(self)
| 157 | |
| 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', '') |
| 171 | renderer.exists_on_path['groff'] = True |
| 172 | renderer.exists_on_path['less'] = True |
| 173 | renderer.render('foo') |
| 174 | last_call = renderer.mock_popen.communicate.call_args_list[-1] |
| 175 | self.assertEqual(last_call, mock.call(input='send to pager')) |
| 176 | |
| 177 | def test_no_warnings_on_invalid_rst(self): |
| 178 | renderer = FakePosixHelpRenderer() |
nothing calls this directly
no test coverage detected