Title: [198714] trunk/LayoutTests
- Revision
- 198714
- Author
- [email protected]
- Date
- 2016-03-26 00:08:21 -0700 (Sat, 26 Mar 2016)
Log Message
ES6 Class syntax. Invoking method of parent class in constructor before super() lead to crash
https://bugs.webkit.org/show_bug.cgi?id=152108
Patch by Joseph Pecoraro <[email protected]> on 2016-03-26
Reviewed by Ryosuke Niwa.
* js/arrowfunction-superproperty-expected.txt:
* js/script-tests/arrowfunction-superproperty.js:
* js/script-tests/class-syntax-name.js:
* js/script-tests/class-syntax-string-and-numeric-names.js:
Remove stale FIXMEs from LayoutTests where the bugs have been fixed.
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (198713 => 198714)
--- trunk/LayoutTests/ChangeLog 2016-03-26 06:51:11 UTC (rev 198713)
+++ trunk/LayoutTests/ChangeLog 2016-03-26 07:08:21 UTC (rev 198714)
@@ -1,3 +1,16 @@
+2016-03-26 Joseph Pecoraro <[email protected]>
+
+ ES6 Class syntax. Invoking method of parent class in constructor before super() lead to crash
+ https://bugs.webkit.org/show_bug.cgi?id=152108
+
+ Reviewed by Ryosuke Niwa.
+
+ * js/arrowfunction-superproperty-expected.txt:
+ * js/script-tests/arrowfunction-superproperty.js:
+ * js/script-tests/class-syntax-name.js:
+ * js/script-tests/class-syntax-string-and-numeric-names.js:
+ Remove stale FIXMEs from LayoutTests where the bugs have been fixed.
+
2016-03-25 Joseph Pecoraro <[email protected]>
Date.prototype.toLocaleDateString uses overridable Object.create
Modified: trunk/LayoutTests/js/arrowfunction-superproperty-expected.txt (198713 => 198714)
--- trunk/LayoutTests/js/arrowfunction-superproperty-expected.txt 2016-03-26 06:51:11 UTC (rev 198713)
+++ trunk/LayoutTests/js/arrowfunction-superproperty-expected.txt 2016-03-26 07:08:21 UTC (rev 198714)
@@ -5,6 +5,7 @@
PASS (new B()).getValueParentFunction() is expectedValue
PASS (new C(false)).value is expectedValue
+PASS (new C(true)) threw exception ReferenceError: Cannot access uninitialized variable..
PASS E.getParentStaticValue() is expectedValue
PASS f.prop is expectedValue + "-" + expectedValue
PASS f.prop is expectedValue + "-" + "new-value"
Modified: trunk/LayoutTests/js/script-tests/arrowfunction-superproperty.js (198713 => 198714)
--- trunk/LayoutTests/js/script-tests/arrowfunction-superproperty.js 2016-03-26 06:51:11 UTC (rev 198713)
+++ trunk/LayoutTests/js/script-tests/arrowfunction-superproperty.js 2016-03-26 07:08:21 UTC (rev 198714)
@@ -77,9 +77,7 @@
shouldBe('(new C(false)).value', 'expectedValue');
-// FIXME: Problem with access to the super before super() in constructor
-// https://bugs.webkit.org/show_bug.cgi?id=152108
-//shouldThrow('(new C(true))', 'ReferenceError');
+shouldThrow('(new C(true))', '"ReferenceError: Cannot access uninitialized variable."');
shouldBe('E.getParentStaticValue()', 'expectedValue');
Modified: trunk/LayoutTests/js/script-tests/class-syntax-name.js (198713 => 198714)
--- trunk/LayoutTests/js/script-tests/class-syntax-name.js 2016-03-26 06:51:11 UTC (rev 198713)
+++ trunk/LayoutTests/js/script-tests/class-syntax-name.js 2016-03-26 07:08:21 UTC (rev 198714)
@@ -119,7 +119,7 @@
runTestShouldBeTrue("var VarA = class A { constructor() {} }; var VarB = class B extends VarA { constructor() { super(); this.base = VarA; this.derived = B; this.derivedVar = VarB; } }; (new VarB).derived === VarB");
runTestShouldBeTrue("var VarA = class A { constructor() {} }; var VarB = class B extends VarA { constructor() { super(); this.base = VarA; this.derived = B; this.derivedVar = VarB; } }; (new VarB).derivedVar === VarB");
-// FIXME: Class statement binding should be like `let`, not `var`.
+// Class statement binding should be like `let`.
debug(''); debug('Class statement binding in other circumstances');
runTestShouldThrow("var result = A; result");
runTestShouldThrow("var result = A; class A {}; result");
Modified: trunk/LayoutTests/js/script-tests/class-syntax-string-and-numeric-names.js (198713 => 198714)
--- trunk/LayoutTests/js/script-tests/class-syntax-string-and-numeric-names.js 2016-03-26 06:51:11 UTC (rev 198713)
+++ trunk/LayoutTests/js/script-tests/class-syntax-string-and-numeric-names.js 2016-03-26 07:08:21 UTC (rev 198714)
@@ -33,7 +33,6 @@
shouldBe("class A { static get 1() { return 21; } }; A[1]", "21");
shouldBe("class A { static get 1() { return 21; } }; (new A)[1]", "undefined");
-// FIXME: This test case fails due to webkit.org/b/144252.
shouldBe("setterValue = 0; X = class { set 2(x) { setterValue = x; } }; (new X)[2] = 22; setterValue", "22");
shouldBe("X[2] = 23; setterValue", "22");
@@ -43,7 +42,6 @@
shouldBe("X = class { get 4() { return 24 } set 4(x) { } }; x = new X; x[4]", "24");
shouldBe("X[4]", "undefined");
-// FIXME: This test case fails due to webkit.org/b/144252.
shouldBe("setterValue = 0; X = class { get 5() { } set 5(x) { setterValue = x; } }; (new X)[5] = 25; setterValue", "25");
shouldBe("X[5] = 26; setterValue", "25");
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes