Exemplo n.º 1
0
def test_var_fails():
    def src(*args, **kwargs):
        pass

    def dest(*args, **kwargs):
        pass

    with pytest.raises(ValueError):
        merge_args._merge(src, dest)
Exemplo n.º 2
0
def test_positional_only():
    from tests.posonly import old, new

    assert str(signature(new)) == '(prefix, foo, /, *args, **kwargs)'

    new = merge_args._merge(old, new)
    assert str(signature(new)) == '(prefix, foo, /, bar)'
Exemplo n.º 3
0
def test_orig():
    def old(foo, bar):
        """This is old's docstring."""
        return foo + bar

    def new(prefix, foo, *args, **kwargs):
        return old(prefix + foo, *args, **kwargs)

    assert str(signature(new)) == '(prefix, foo, *args, **kwargs)'

    new = merge_args._merge(old, new)
    assert str(signature(new)) == '(prefix, foo, bar)'
    assert new.__doc__ == old.__doc__
    assert new.__doc__
    assert old('a', 'b') == 'ab'
    assert new('!', 'a', 'b') == '!ab'