def _helper_assert_about_pager( str_to_page, pager_cmd, use_fallback, pipepager, default_pager, ): """ Help with asserting about pager. str_to_page: what you're paging pager_cmd: the string you're passing to pipepager (or None) use_default: false if we should actually use pydoc.pipepager, true if we instead are going to fallback to pydoc.pager """ util.page_string(str_to_page, pager_cmd) if use_fallback: default_pager.assert_called_once_with(str_to_page) assert pipepager.call_count == 0 else: assert default_pager.call_count == 0 pipepager.assert_called_once_with( str_to_page, cmd=pager_cmd )
def _helper_assert_about_pager( str_to_page, pager_cmd, use_fallback ): """ Help with asserting about pager. str_to_page: what you're paging pager_cmd: the string you're passing to pipepager (or None) use_default: false if we should actually use pydoc.pipepager, true if we instead are going to fallback to pydoc.pager """ with patch('pydoc.pager') as default_pager: with patch('pydoc.pipepager') as pipepager: util.page_string(str_to_page, pager_cmd) if use_fallback: default_pager.assert_called_once_with(str_to_page) assert_equal(pipepager.call_count, 0) else: assert_equal(default_pager.call_count, 0) pipepager.assert_called_once_with( str_to_page, cmd=pager_cmd )
def test_page_string_excepts_keyboard_interrupt_if_none(pager_mock): """ Do not fail when user hits ctrl-c while in pipepager. """ try: util.page_string('page me plz', None) except KeyboardInterrupt: raise AssertionError('Should not have got this far') pager_mock.assert_called_once_with('page me plz')
def _helper_assert_about_pager(str_to_page, pager_cmd, has_less_return_value, use_fallback): """ Help with asserting about pager. str_to_page: what you're paging pager_cmd: the string you're passing to pipepager (or None) has_less_return_value: return value of the system call to find out if less is present on the machine. 0 means ok, != 0 means problem. use_default: false if we should actually use pydoc.pipepager, true if we instead are going to fallback to pydoc.pager """ with patch('os.system', return_value=has_less_return_value): with patch('pydoc.pager') as default_pager: with patch('pydoc.pipepager') as pipepager: util.page_string(str_to_page, pager_cmd) if use_fallback: default_pager.assert_called_once_with(str_to_page) pipepager.assert_no_calls() else: default_pager.assert_no_calls() pipepager.assert_called_once_with(str_to_page, cmd=pager_cmd)