Changeset View
Changeset View
Standalone View
Standalone View
duchain/tests/pyduchaintest.cpp
Context not available. | |||||
793 | visitor->ctx = TopDUContextPointer(ctx.data()); | 793 | visitor->ctx = TopDUContextPointer(ctx.data()); | ||
---|---|---|---|---|---|
794 | visitor->searchingForType = expectedType; | 794 | visitor->searchingForType = expectedType; | ||
795 | visitor->visitCode(m_ast.data()); | 795 | visitor->visitCode(m_ast.data()); | ||
796 | QEXPECT_FAIL("lambda", "not implemented: aliasing lambdas", Continue); | | |||
797 | QEXPECT_FAIL("return_builtin_iterator", "fake builtin iter()", Continue); | 796 | QEXPECT_FAIL("return_builtin_iterator", "fake builtin iter()", Continue); | ||
798 | QEXPECT_FAIL("staticmethod_args_type", "bugged somewhere", Continue); | 797 | QEXPECT_FAIL("staticmethod_args_type", "bugged somewhere", Continue); | ||
799 | QEXPECT_FAIL("init_class_no_decl", "aliasing info lost", Continue); | 798 | QEXPECT_FAIL("init_class_no_decl", "aliasing info lost", Continue); | ||
Context not available. | |||||
917 | QTest::newRow("yield_return") << "def myfun():\n return 3\n yield 'foo'\ncheckme = myfun()" << "unsure (int, list of str)"; | 916 | QTest::newRow("yield_return") << "def myfun():\n return 3\n yield 'foo'\ncheckme = myfun()" << "unsure (int, list of str)"; | ||
918 | 917 | | |||
919 | QTest::newRow("lambda") << "x = lambda t: 3\ncheckme = x()" << "int"; | 918 | QTest::newRow("lambda") << "x = lambda t: 3\ncheckme = x()" << "int"; | ||
920 | QTest::newRow("lambda_failure") << "x = lambda t: 3\ncheckme = t" << "mixed"; | 919 | QTest::newRow("lambda_context") << "x = lambda t: 3\ncheckme = t" << "mixed"; | ||
920 | QTest::newRow("lambda_default_arg") << "x = lambda t=3: t\ncheckme = x()" << "int"; | ||||
921 | QTest::newRow("lambda_hints") << "x = lambda t: t\ncheckme = x(3.5)" << "float"; | ||||
922 | QTest::newRow("lambda_default_arg_hints") << "x = lambda t=3: t\ncheckme = x(3.5)" << "unsure (int, float)"; | ||||
923 | QTest::newRow("lambda_vararg_hints") << "x = lambda arg, *args: args[1]\ncheckme = x(3.5, 2, str())" << "str"; | ||||
924 | QTest::newRow("lambda_kwarg_hints") << "x = lambda arg, **kwargs: kwargs['a']\ncheckme = x(3.5, a=2)" << "int"; | ||||
921 | 925 | | |||
922 | QTest::newRow("function_arg_tuple") << "def func(*arg):\n foo, bar = arg\n return bar\ncheckme = func(3, 5)" << "int"; | 926 | QTest::newRow("function_arg_tuple") << "def func(*arg):\n foo, bar = arg\n return bar\ncheckme = func(3, 5)" << "int"; | ||
923 | QTest::newRow("function_arg_tuple2") << "def func(*arg):\n return arg[-1]\ncheckme = func(3, \"Foo\")" << "str"; | 927 | QTest::newRow("function_arg_tuple2") << "def func(*arg):\n return arg[-1]\ncheckme = func(3, \"Foo\")" << "str"; | ||
Context not available. |