Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(991)

Unified Diff: test/webkit/class-syntax-super-expected.txt

Issue 1109783003: Import JSC class tests (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: git rebase Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/webkit/class-syntax-super.js ('k') | test/webkit/resources/standalone-pre.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/webkit/class-syntax-super-expected.txt
diff --git a/test/webkit/class-syntax-super-expected.txt b/test/webkit/class-syntax-super-expected.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2f38f5ae388bbb433c672fedc36e2eb116062992
--- /dev/null
+++ b/test/webkit/class-syntax-super-expected.txt
@@ -0,0 +1,46 @@
+Tests for ES6 class syntax "super"
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS (new Base) instanceof Base is true
+PASS (new Derived) instanceof Derived is true
+PASS (new Derived).callBaseMethod() is baseMethodValue
+PASS x = (new Derived).callBaseMethod; x() is baseMethodValue
+PASS (new Derived).callBaseMethodInGetter is baseMethodValue
+PASS (new Derived).callBaseMethodInSetter = 1; valueInSetter is baseMethodValue
+PASS (new Derived).baseMethodInGetterSetter is (new Base).baseMethod
+PASS (new Derived).baseMethodInGetterSetter = 1; valueInSetter is (new Base).baseMethod
+PASS Derived.staticMethod() is "base3"
+PASS (new SecondDerived).chainMethod() is ["base", "derived", "secondDerived"]
+PASS x = class extends Base { constructor() { super(); } super() {} } did not throw exception.
+PASS x = class extends Base { constructor() { super(); } method() { super() } } threw exception SyntaxError: 'super' keyword unexpected here.
+PASS x = class extends Base { constructor() { super(); } method() { super } } threw exception SyntaxError: 'super' keyword unexpected here.
+PASS x = class extends Base { constructor() { super(); } method() { return new super } } threw exception SyntaxError: 'super' keyword unexpected here.
+PASS x = class extends Base { constructor() { super(); } method1() { delete (super.foo) } method2() { delete super["foo"] } } did not throw exception.
+PASS (new x).method1() threw exception ReferenceError: Unsupported reference to 'super'.
+PASS (new x).method2() threw exception ReferenceError: Unsupported reference to 'super'.
+PASS new (class { constructor() { return undefined; } }) instanceof Object is true
+PASS new (class { constructor() { return 1; } }) instanceof Object is true
+PASS new (class extends Base { constructor() { return undefined } }) threw exception ReferenceError: this is not defined.
+PASS new (class extends Base { constructor() { super(); return undefined } }) instanceof Object is true
+PASS x = { }; new (class extends Base { constructor() { return x } }); is x
+PASS x instanceof Base is false
+PASS new (class extends Base { constructor() { } }) threw exception ReferenceError: this is not defined.
+PASS new (class extends Base { constructor() { return 1; } }) threw exception TypeError: Derived constructors may only return object or undefined.
+PASS new (class extends null { constructor() { return undefined } }) threw exception ReferenceError: this is not defined.
+PASS new (class extends null { constructor() { super(); return undefined } }) threw exception TypeError: function () {} is not a constructor.
+PASS x = { }; new (class extends null { constructor() { return x } }); is x
+PASS x instanceof Object is true
+PASS new (class extends null { constructor() { } }) threw exception ReferenceError: this is not defined.
+PASS new (class extends null { constructor() { return 1; } }) threw exception TypeError: Derived constructors may only return object or undefined.
+PASS new (class extends null { constructor() { super() } }) threw exception TypeError: function () {} is not a constructor.
+PASS new (class { constructor() { super() } }) threw exception SyntaxError: 'super' keyword unexpected here.
+PASS function x() { super(); } threw exception SyntaxError: 'super' keyword unexpected here.
+PASS new (class extends Object { constructor() { function x() { super() } } }) threw exception SyntaxError: 'super' keyword unexpected here.
+PASS new (class extends Object { constructor() { function x() { super.method } } }) threw exception SyntaxError: 'super' keyword unexpected here.
+PASS function x() { super.method(); } threw exception SyntaxError: 'super' keyword unexpected here.
+PASS function x() { super(); } threw exception SyntaxError: 'super' keyword unexpected here.
+PASS successfullyParsed is true
+
+TEST COMPLETE
« no previous file with comments | « test/webkit/class-syntax-super.js ('k') | test/webkit/resources/standalone-pre.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698