예제 #1
0
파일: util_test.py 프로젝트: scorphus/eg
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
        )
예제 #2
0
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
                )
예제 #3
0
파일: util_test.py 프로젝트: scorphus/eg
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')
예제 #4
0
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')
예제 #5
0
파일: util_test.py 프로젝트: moyiz/eg
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)