Ronan Lamy avatar Ronan Lamy committed 6c24bf4

kill irrelevant tests

Comments (0)

Files changed (1)

pypy/objspace/flow/test/test_argument.py

 # -*- coding: utf-8 -*-
 import py
-from pypy.objspace.flow.argument import (Arguments, ArgumentsForTranslation,
-    ArgErr, ArgErrUnknownKwds, ArgErrMultipleValues, ArgErrCount, rawshape,
+from pypy.objspace.flow.argument import (ArgumentsForTranslation, rawshape,
     Signature)
-from pypy.interpreter.error import OperationError
 
 
 class TestSignature(object):
         return issubclass(w_type1, w_type2)
 
     def call_method(self, obj, name, *args):
-        try:
-            method = getattr(obj, name)
-        except AttributeError:
-            raise OperationError(AttributeError, name)
+        method = getattr(obj, name)
         return method(*args)
 
     def type(self, obj):
     w_dict = dict
     w_str = str
 
-class TestArgumentsNormal(object):
-
-    def test_create(self):
-        space = DummySpace()
-        args_w = []
-        args = Arguments(space, args_w)
-        assert args.arguments_w is args_w
-        assert args.keywords is None
-        assert args.keywords_w is None
-
-        assert args.firstarg() is None
-
-        args = Arguments(space, args_w, w_stararg=["*"],
-                         w_starstararg={"k": 1})
-        assert args.arguments_w == ["*"]
-        assert args.keywords == ["k"]
-        assert args.keywords_w == [1]
-
-        assert args.firstarg() == "*"
-
-    def test_prepend(self):
-        space = DummySpace()
-        args = Arguments(space, ["0"])
-        args1 = args.prepend("thingy")
-        assert args1 is not args
-        assert args1.arguments_w == ["thingy", "0"]
-        assert args1.keywords is args.keywords
-        assert args1.keywords_w is args.keywords_w
-
-    def test_fixedunpacked(self):
-        space = DummySpace()
-
-        args = Arguments(space, [], ["k"], [1])
-        py.test.raises(ValueError, args.fixedunpack, 1)
-
-        args = Arguments(space, ["a", "b"])
-        py.test.raises(ValueError, args.fixedunpack, 0)
-        py.test.raises(ValueError, args.fixedunpack, 1)
-        py.test.raises(ValueError, args.fixedunpack, 3)
-        py.test.raises(ValueError, args.fixedunpack, 4)
-
-        assert args.fixedunpack(2) == ['a', 'b']
-
-    def test_match0(self):
-        space = DummySpace()
-        args = Arguments(space, [])
-        l = []
-        args._match_signature(None, l, Signature([]))
-        assert len(l) == 0
-        l = [None, None]
-        args = Arguments(space, [])
-        py.test.raises(ArgErr, args._match_signature, None, l, Signature(["a"]))
-        args = Arguments(space, [])
-        py.test.raises(ArgErr, args._match_signature, None, l, Signature(["a"], "*"))
-        args = Arguments(space, [])
-        l = [None]
-        args._match_signature(None, l, Signature(["a"]), defaults_w=[1])
-        assert l == [1]
-        args = Arguments(space, [])
-        l = [None]
-        args._match_signature(None, l, Signature([], "*"))
-        assert l == [()]
-        args = Arguments(space, [])
-        l = [None]
-        args._match_signature(None, l, Signature([], None, "**"))
-        assert l == [{}]
-        args = Arguments(space, [])
-        l = [None, None]
-        py.test.raises(ArgErr, args._match_signature, 41, l, Signature([]))
-        args = Arguments(space, [])
-        l = [None]
-        args._match_signature(1, l, Signature(["a"]))
-        assert l == [1]
-        args = Arguments(space, [])
-        l = [None]
-        args._match_signature(1, l, Signature([], "*"))
-        assert l == [(1,)]
-
-    def test_match4(self):
-        space = DummySpace()
-        values = [4, 5, 6, 7]
-        for havefirstarg in [0, 1]:
-            for i in range(len(values)-havefirstarg):
-                arglist = values[havefirstarg:i+havefirstarg]
-                starargs = tuple(values[i+havefirstarg:])
-                if havefirstarg:
-                    firstarg = values[0]
-                else:
-                    firstarg = None
-                args = Arguments(space, arglist, w_stararg=starargs)
-                l = [None, None, None, None]
-                args._match_signature(firstarg, l, Signature(["a", "b", "c", "d"]))
-                assert l == [4, 5, 6, 7]
-                args = Arguments(space, arglist, w_stararg=starargs)
-                l = [None, None, None, None, None, None]
-                py.test.raises(ArgErr, args._match_signature, firstarg, l, Signature(["a"]))
-                args = Arguments(space, arglist, w_stararg=starargs)
-                l = [None, None, None, None, None, None]
-                py.test.raises(ArgErr, args._match_signature, firstarg, l, Signature(["a", "b", "c", "d", "e"]))
-                args = Arguments(space, arglist, w_stararg=starargs)
-                l = [None, None, None, None, None, None]
-                py.test.raises(ArgErr, args._match_signature, firstarg, l, Signature(["a", "b", "c", "d", "e"], "*"))
-                l = [None, None, None, None, None]
-                args = Arguments(space, arglist, w_stararg=starargs)
-                args._match_signature(firstarg, l, Signature(["a", "b", "c", "d", "e"]), defaults_w=[1])
-                assert l == [4, 5, 6, 7, 1]
-                for j in range(len(values)):
-                    l = [None] * (j + 1)
-                    args = Arguments(space, arglist, w_stararg=starargs)
-                    args._match_signature(firstarg, l, Signature(["a", "b", "c", "d", "e"][:j], "*"))
-                    assert l == values[:j] + [tuple(values[j:])]
-                l = [None, None, None, None, None]
-                args = Arguments(space, arglist, w_stararg=starargs)
-                args._match_signature(firstarg, l, Signature(["a", "b", "c", "d"], None, "**"))
-                assert l == [4, 5, 6, 7, {}]
-
-    def test_match_kwds(self):
-        space = DummySpace()
-        for i in range(3):
-            kwds = [("c", 3)]
-            kwds_w = dict(kwds[:i])
-            keywords = kwds_w.keys()
-            keywords_w = kwds_w.values()
-            w_kwds = dummy_wrapped_dict(kwds[i:])
-            if i == 2:
-                w_kwds = None
-            assert len(keywords) == len(keywords_w)
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None]
-            args._match_signature(None, l, Signature(["a", "b", "c"]), defaults_w=[4])
-            assert l == [1, 2, 3]
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None, None]
-            args._match_signature(None, l, Signature(["a", "b", "b1", "c"]), defaults_w=[4, 5])
-            assert l == [1, 2, 4, 3]
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None, None]
-            args._match_signature(None, l, Signature(["a", "b", "c", "d"]), defaults_w=[4, 5])
-            assert l == [1, 2, 3, 5]
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None, None]
-            py.test.raises(ArgErr, args._match_signature, None, l,
-                           Signature(["c", "b", "a", "d"]), defaults_w=[4, 5])
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None, None]
-            py.test.raises(ArgErr, args._match_signature, None, l,
-                           Signature(["a", "b", "c1", "d"]), defaults_w=[4, 5])
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None]
-            args._match_signature(None, l, Signature(["a", "b"], None, "**"))
-            assert l == [1, 2, {'c': 3}]
-
-    def test_match_kwds2(self):
-        space = DummySpace()
-        kwds = [("c", 3), ('d', 4)]
-        for i in range(4):
-            kwds_w = dict(kwds[:i])
-            keywords = kwds_w.keys()
-            keywords_w = kwds_w.values()
-            w_kwds = dummy_wrapped_dict(kwds[i:])
-            if i == 3:
-                w_kwds = None
-            args = Arguments(space, [1, 2], keywords, keywords_w, w_starstararg=w_kwds)
-            l = [None, None, None, None]
-            args._match_signature(None, l, Signature(["a", "b", "c"], None, "**"))
-            assert l == [1, 2, 3, {'d': 4}]
-
-    def test_match_kwds_creates_kwdict(self):
-        space = DummySpace()
-        kwds = [("c", 3), ('d', 4)]
-        for i in range(4):
-            kwds_w = dict(kwds[:i])
-            keywords = kwds_w.keys()
-            keywords_w = kwds_w.values()
-            w_kwds = dummy_wrapped_dict(kwds[i:])
-            if i == 3:
-                w_kwds = None
-            args = Arguments(space, [1, 2], keywords, keywords_w, w_starstararg=w_kwds)
-            l = [None, None, None, None]
-            args._match_signature(None, l, Signature(["a", "b", "c"], None, "**"))
-            assert l == [1, 2, 3, {'d': 4}]
-            assert isinstance(l[-1], kwargsdict)
-
-    def test_duplicate_kwds(self):
-        space = DummySpace()
-        excinfo = py.test.raises(OperationError, Arguments, space, [], ["a"],
-                                 [1], w_starstararg={"a": 2})
-        assert excinfo.value.w_type is TypeError
-
-    def test_starstararg_wrong_type(self):
-        space = DummySpace()
-        excinfo = py.test.raises(OperationError, Arguments, space, [], ["a"],
-                                 [1], w_starstararg="hello")
-        assert excinfo.value.w_type is TypeError
-
-    def test_unwrap_error(self):
-        space = DummySpace()
-        valuedummy = object()
-        def str_w(w):
-            if w is None:
-                raise OperationError(TypeError, None)
-            if w is valuedummy:
-                raise OperationError(ValueError, None)
-            return str(w)
-        space.str_w = str_w
-        excinfo = py.test.raises(OperationError, Arguments, space, [],
-                                 ["a"], [1], w_starstararg={None: 1})
-        assert excinfo.value.w_type is TypeError
-        assert excinfo.value._w_value is not None
-        excinfo = py.test.raises(OperationError, Arguments, space, [],
-                                 ["a"], [1], w_starstararg={valuedummy: 1})
-        assert excinfo.value.w_type is ValueError
-        assert excinfo.value._w_value is None
-
-
-    def test_blindargs(self):
-        space = DummySpace()
-        kwds = [("a", 3), ('b', 4)]
-        for i in range(4):
-            kwds_w = dict(kwds[:i])
-            keywords = kwds_w.keys()
-            keywords_w = kwds_w.values()
-            w_kwds = dict(kwds[i:])
-            if i == 3:
-                w_kwds = None
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:],
-                             w_starstararg=w_kwds)
-            l = [None, None, None]
-            args._match_signature(None, l, Signature(["a", "b"], None, "**"), blindargs=2)
-            assert l == [1, 2, {'a':3, 'b': 4}]
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:],
-                             w_starstararg=w_kwds)
-            l = [None, None, None]
-            py.test.raises(ArgErrUnknownKwds, args._match_signature, None, l,
-                           Signature(["a", "b"]), blindargs=2)
-
-    def test_args_parsing(self):
-        space = DummySpace()
-        args = Arguments(space, [])
-
-        calls = []
-
-        def _match_signature(w_firstarg, scope_w, signature,
-                             defaults_w=None, blindargs=0):
-            defaults_w = [] if defaults_w is None else defaults_w
-            calls.append((w_firstarg, scope_w, signature.argnames, signature.has_vararg(),
-                          signature.has_kwarg(), defaults_w, blindargs))
-        args._match_signature = _match_signature
-
-        scope_w = args.parse_obj(None, "foo", Signature(["a", "b"], None, None))
-        assert len(calls) == 1
-        assert calls[0] == (None, [None, None], ["a", "b"], False, False,
-                            [], 0)
-        assert calls[0][1] is scope_w
-        calls = []
-
-        scope_w = args.parse_obj(None, "foo", Signature(["a", "b"], "args", None),
-                                 blindargs=1)
-        assert len(calls) == 1
-        assert calls[0] == (None, [None, None, None], ["a", "b"], True, False,
-                            [], 1)
-        calls = []
-
-        scope_w = args.parse_obj(None, "foo", Signature(["a", "b"], "args", "kw"),
-                             defaults_w=['x', 'y'])
-        assert len(calls) == 1
-        assert calls[0] == (None, [None, None, None, None], ["a", "b"],
-                            True, True,
-                            ["x", "y"], 0)
-        calls = []
-
-        scope_w = args.parse_obj("obj", "foo", Signature(["a", "b"], "args", "kw"),
-                             defaults_w=['x', 'y'], blindargs=1)
-        assert len(calls) == 1
-        assert calls[0] == ("obj", [None, None, None, None], ["a", "b"],
-                            True, True,
-                            ["x", "y"], 1)
-
-        class FakeArgErr(ArgErr):
-
-            def getmsg(self):
-                return "msg"
-
-        def _match_signature(*args):
-            raise FakeArgErr()
-        args._match_signature = _match_signature
-
-
-        excinfo = py.test.raises(OperationError, args.parse_obj, "obj", "foo",
-                       Signature(["a", "b"], None, None))
-        assert excinfo.value.w_type is TypeError
-        assert excinfo.value.get_w_value(space) == "foo() msg"
-
-
-    def test_args_parsing_into_scope(self):
-        space = DummySpace()
-        args = Arguments(space, [])
-
-        calls = []
-
-        def _match_signature(w_firstarg, scope_w, signature,
-                             defaults_w=None, blindargs=0):
-            defaults_w = [] if defaults_w is None else defaults_w
-            calls.append((w_firstarg, scope_w, signature.argnames, signature.has_vararg(),
-                          signature.has_kwarg(), defaults_w, blindargs))
-        args._match_signature = _match_signature
-
-        scope_w = [None, None]
-        args.parse_into_scope(None, scope_w, "foo", Signature(["a", "b"], None, None))
-        assert len(calls) == 1
-        assert calls[0] == (None, scope_w, ["a", "b"], False, False,
-                            [], 0)
-        assert calls[0][1] is scope_w
-        calls = []
-
-        scope_w = [None, None, None, None]
-        args.parse_into_scope(None, scope_w, "foo", Signature(["a", "b"], "args", "kw"),
-                              defaults_w=['x', 'y'])
-        assert len(calls) == 1
-        assert calls[0] == (None, scope_w, ["a", "b"],
-                            True, True,
-                            ["x", "y"], 0)
-        calls = []
-
-        scope_w = [None, None, None, None]
-        args.parse_into_scope("obj", scope_w, "foo", Signature(["a", "b"],
-                                                      "args", "kw"),
-                              defaults_w=['x', 'y'])
-        assert len(calls) == 1
-        assert calls[0] == ("obj", scope_w, ["a", "b"],
-                            True, True,
-                            ["x", "y"], 0)
-
-        class FakeArgErr(ArgErr):
-
-            def getmsg(self):
-                return "msg"
-
-        def _match_signature(*args):
-            raise FakeArgErr()
-        args._match_signature = _match_signature
-
-
-        excinfo = py.test.raises(OperationError, args.parse_into_scope,
-                                 "obj", [None, None], "foo",
-                                 Signature(["a", "b"], None, None))
-        assert excinfo.value.w_type is TypeError
-        assert excinfo.value.get_w_value(space) == "foo() msg"
-
-    def test_topacked_frompacked(self):
-        space = DummySpace()
-        args = Arguments(space, [1], ['a', 'b'], [2, 3])
-        w_args, w_kwds = args.topacked()
-        assert w_args == (1,)
-        assert w_kwds == {'a': 2, 'b': 3}
-        args1 = Arguments.frompacked(space, w_args, w_kwds)
-        assert args.arguments_w == [1]
-        assert set(args.keywords) == set(['a', 'b'])
-        assert args.keywords_w[args.keywords.index('a')] == 2
-        assert args.keywords_w[args.keywords.index('b')] == 3
-
-        args = Arguments(space, [1])
-        w_args, w_kwds = args.topacked()
-        assert w_args == (1, )
-        assert not w_kwds
-
-    def test_argument_unicode(self):
-        space = DummySpace()
-        w_starstar = space.wrap({u'abc': 5})
-        args = Arguments(space, [], w_starstararg=w_starstar)
-        l = [None]
-        args._match_signature(None, l, Signature(['abc']))
-        assert len(l) == 1
-        assert l[0] == space.wrap(5)
-
-    def test_starstarargs_special(self):
-        class kwargs(object):
-            def __init__(self, k, v):
-                self.k = k
-                self.v = v
-        class MyDummySpace(DummySpace):
-            def view_as_kwargs(self, kw):
-                if isinstance(kw, kwargs):
-                    return kw.k, kw.v
-                return None, None
-        space = MyDummySpace()
-        for i in range(3):
-            kwds = [("c", 3)]
-            kwds_w = dict(kwds[:i])
-            keywords = kwds_w.keys()
-            keywords_w = kwds_w.values()
-            rest = dict(kwds[i:])
-            w_kwds = kwargs(rest.keys(), rest.values())
-            if i == 2:
-                w_kwds = None
-            assert len(keywords) == len(keywords_w)
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None]
-            args._match_signature(None, l, Signature(["a", "b", "c"]), defaults_w=[4])
-            assert l == [1, 2, 3]
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None, None]
-            args._match_signature(None, l, Signature(["a", "b", "b1", "c"]), defaults_w=[4, 5])
-            assert l == [1, 2, 4, 3]
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None, None]
-            args._match_signature(None, l, Signature(["a", "b", "c", "d"]), defaults_w=[4, 5])
-            assert l == [1, 2, 3, 5]
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None, None]
-            py.test.raises(ArgErr, args._match_signature, None, l,
-                           Signature(["c", "b", "a", "d"]), defaults_w=[4, 5])
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None, None]
-            py.test.raises(ArgErr, args._match_signature, None, l,
-                           Signature(["a", "b", "c1", "d"]), defaults_w=[4, 5])
-            args = Arguments(space, [1, 2], keywords[:], keywords_w[:], w_starstararg=w_kwds)
-            l = [None, None, None]
-            args._match_signature(None, l, Signature(["a", "b"], None, "**"))
-            assert l == [1, 2, {'c': 3}]
-        excinfo = py.test.raises(OperationError, Arguments, space, [], ["a"],
-                                 [1], w_starstararg=kwargs(["a"], [2]))
-        assert excinfo.value.w_type is TypeError
-
-
-
-class TestErrorHandling(object):
-    def test_missing_args(self):
-        # got_nargs, nkwds, expected_nargs, has_vararg, has_kwarg,
-        # defaults_w, missing_args
-        sig = Signature([], None, None)
-        err = ArgErrCount(1, 0, sig, None, 0)
-        s = err.getmsg()
-        assert s == "takes no arguments (1 given)"
-
-        sig = Signature(['a'], None, None)
-        err = ArgErrCount(0, 0, sig, [], 1)
-        s = err.getmsg()
-        assert s == "takes exactly 1 argument (0 given)"
-
-        sig = Signature(['a', 'b'], None, None)
-        err = ArgErrCount(3, 0, sig, [], 0)
-        s = err.getmsg()
-        assert s == "takes exactly 2 arguments (3 given)"
-        err = ArgErrCount(3, 0, sig, ['a'], 0)
-        s = err.getmsg()
-        assert s == "takes at most 2 arguments (3 given)"
-
-        sig = Signature(['a', 'b'], '*', None)
-        err = ArgErrCount(1, 0, sig, [], 1)
-        s = err.getmsg()
-        assert s == "takes at least 2 arguments (1 given)"
-        err = ArgErrCount(0, 1, sig, ['a'], 1)
-        s = err.getmsg()
-        assert s == "takes at least 1 non-keyword argument (0 given)"
-
-        sig = Signature(['a'], None, '**')
-        err = ArgErrCount(2, 1, sig, [], 0)
-        s = err.getmsg()
-        assert s == "takes exactly 1 non-keyword argument (2 given)"
-        err = ArgErrCount(0, 1, sig, [], 1)
-        s = err.getmsg()
-        assert s == "takes exactly 1 non-keyword argument (0 given)"
-
-        sig = Signature(['a'], '*', '**')
-        err = ArgErrCount(0, 1, sig, [], 1)
-        s = err.getmsg()
-        assert s == "takes at least 1 non-keyword argument (0 given)"
-
-        sig = Signature(['a'], None, '**')
-        err = ArgErrCount(2, 1, sig, ['a'], 0)
-        s = err.getmsg()
-        assert s == "takes at most 1 non-keyword argument (2 given)"
-
-    def test_bad_type_for_star(self):
-        space = self.space
-        try:
-            Arguments(space, [], w_stararg=space.wrap(42))
-        except OperationError, e:
-            msg = space.str_w(space.str(e.get_w_value(space)))
-            assert msg == "argument after * must be a sequence, not int"
-        else:
-            assert 0, "did not raise"
-        try:
-            Arguments(space, [], w_starstararg=space.wrap(42))
-        except OperationError, e:
-            msg = space.str_w(space.str(e.get_w_value(space)))
-            assert msg == "argument after ** must be a mapping, not int"
-        else:
-            assert 0, "did not raise"
-
-    def test_unknown_keywords(self):
-        space = DummySpace()
-        err = ArgErrUnknownKwds(space, 1, ['a', 'b'], [0], None)
-        s = err.getmsg()
-        assert s == "got an unexpected keyword argument 'b'"
-        err = ArgErrUnknownKwds(space, 1, ['a', 'b'], [1], None)
-        s = err.getmsg()
-        assert s == "got an unexpected keyword argument 'a'"
-        err = ArgErrUnknownKwds(space, 2, ['a', 'b', 'c'],
-                                [0], None)
-        s = err.getmsg()
-        assert s == "got 2 unexpected keyword arguments"
-
-    def test_unknown_unicode_keyword(self):
-        class DummySpaceUnicode(DummySpace):
-            class sys:
-                defaultencoding = 'utf-8'
-        space = DummySpaceUnicode()
-        err = ArgErrUnknownKwds(space, 1, ['a', None, 'b', 'c'],
-                                [0, 3, 2],
-                                [unichr(0x1234), u'b', u'c'])
-        s = err.getmsg()
-        assert s == "got an unexpected keyword argument '\xe1\x88\xb4'"
-
-    def test_multiple_values(self):
-        err = ArgErrMultipleValues('bla')
-        s = err.getmsg()
-        assert s == "got multiple values for keyword argument 'bla'"
-
-class AppTestArgument:
-    def test_error_message(self):
-        exc = raises(TypeError, (lambda a, b=2: 0), b=3)
-        assert exc.value.message == "<lambda>() takes at least 1 non-keyword argument (0 given)"
-        exc = raises(TypeError, (lambda: 0), b=3)
-        assert exc.value.message == "<lambda>() takes no arguments (1 given)"
-        exc = raises(TypeError, (lambda a, b: 0), 1, 2, 3, a=1)
-        assert exc.value.message == "<lambda>() takes exactly 2 arguments (4 given)"
-        exc = raises(TypeError, (lambda a, b=1: 0), 1, 2, 3, a=1)
-        assert exc.value.message == "<lambda>() takes at most 2 non-keyword arguments (3 given)"
-        exc = raises(TypeError, (lambda a, b=1, **kw: 0), 1, 2, 3)
-        assert exc.value.message == "<lambda>() takes at most 2 non-keyword arguments (3 given)"
-        exc = raises(TypeError, (lambda a, b, c=3, **kw: 0), 1)
-        assert exc.value.message == "<lambda>() takes at least 2 arguments (1 given)"
-        exc = raises(TypeError, (lambda a, b, **kw: 0), 1)
-        assert exc.value.message == "<lambda>() takes exactly 2 non-keyword arguments (1 given)"
-        exc = raises(TypeError, (lambda a, b, c=3, **kw: 0), a=1)
-        assert exc.value.message == "<lambda>() takes at least 2 non-keyword arguments (0 given)"
-        exc = raises(TypeError, (lambda a, b, **kw: 0), a=1)
-        assert exc.value.message == "<lambda>() takes exactly 2 non-keyword arguments (0 given)"
-
-    def test_unicode_keywords(self):
-        def f(**kwargs):
-            assert kwargs[u"美"] == 42
-        f(**{u"美" : 42})
-        def f(x): pass
-        e = raises(TypeError, "f(**{u'ü' : 19})")
-        assert "?" in str(e.value)
-
 def make_arguments_for_translation(space, args_w, keywords_w={},
                                    w_stararg=None, w_starstararg=None):
     return ArgumentsForTranslation(space, args_w, keywords_w.keys(),
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.