Chromium Code Reviews| Index: test/cctest/interpreter/test-bytecode-generator.cc |
| diff --git a/test/cctest/interpreter/test-bytecode-generator.cc b/test/cctest/interpreter/test-bytecode-generator.cc |
| index ff34d3164d6a60e7758ae52e2bc28e03e0f19289..d8f29a16fed2bb72c7592262bf856613086e35c2 100644 |
| --- a/test/cctest/interpreter/test-bytecode-generator.cc |
| +++ b/test/cctest/interpreter/test-bytecode-generator.cc |
| @@ -2100,8 +2100,6 @@ TEST(DoDebugger) { |
| CHECK_EQ(BuildActual(printer, snippets), LoadGolden("DoDebugger.golden")); |
| } |
| -// TODO(rmcilroy): Update expectations after switch to |
| -// Runtime::kDefineDataPropertyInLiteral. |
| TEST(ClassDeclarations) { |
| InitializedIgnitionHandleScope scope; |
| BytecodeExpectationsPrinter printer(CcTest::isolate(), |
| @@ -2133,7 +2131,40 @@ TEST(ClassDeclarations) { |
| LoadGolden("ClassDeclarations.golden")); |
| } |
| -// TODO(oth): Add tests for super keyword. |
| +TEST(ClassAndSuperClass) { |
| + InitializedIgnitionHandleScope scope; |
| + BytecodeExpectationsPrinter printer(CcTest::isolate(), |
| + ConstantPoolType::kMixed); |
| + printer.set_wrap(false); |
| + printer.set_test_function_name("test"); |
| + const char* snippets[] = { |
|
oth
2016/03/15 14:54:09
Can you add a few more here - InterpreterClassAndS
rmcilroy
2016/03/16 14:16:41
Done.
|
| + "var test;\n" |
| + "(function() {\n" |
| + " class A {\n" |
| + " method(x) { return 2; }\n" |
| + " }\n" |
| + " class B extends A {\n" |
| + " method(x) { return super.method() + 1; }\n" |
| + " }\n" |
| + " test = new B().method;\n" |
| + " test();\n" |
| + "})();\n", |
| + |
| + "var test;\n" |
| + "(function() {\n" |
| + " class A {\n" |
| + " constructor() { this.x_ = 1; }\n" |
| + " }\n" |
| + " class B extends A {\n" |
| + " constructor() { super(); this.y_ = 2; }\n" |
| + " }\n" |
| + " test = new B().constructor;\n" |
| + "})();\n", |
| + }; |
| + |
| + CHECK_EQ(BuildActual(printer, snippets), |
| + LoadGolden("ClassAndSuperClass.golden")); |
| +} |
| } // namespace interpreter |
| } // namespace internal |