Diff
Modified: trunk/JSTests/ChangeLog (239558 => 239559)
--- trunk/JSTests/ChangeLog 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/JSTests/ChangeLog 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,3 +1,14 @@
+2018-12-30 Ross Kirsling <ross.kirsl...@sony.com>
+
+ [JSC] Identifier validity should be based on ID_Start / ID_Continue properties
+ https://bugs.webkit.org/show_bug.cgi?id=193050
+
+ Reviewed by Yusuke Suzuki.
+
+ * test262.yaml:
+ * test262/expectations.yaml:
+ Mark 16 tests as passing.
+
2018-12-13 Yusuke Suzuki <yusukesuz...@slowstart.org>
[BigInt] Support BigInt in JSON.stringify
Modified: trunk/JSTests/test262/expectations.yaml (239558 => 239559)
--- trunk/JSTests/test262/expectations.yaml 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/JSTests/test262/expectations.yaml 2018-12-30 17:38:56 UTC (rev 239559)
@@ -6953,33 +6953,9 @@
test/language/global-code/script-decl-var-err.js:
default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
-test/language/identifiers/other_id_continue-escaped.js:
- default: "SyntaxError: Invalid unicode escape in identifier: 'a\\u2118'"
- strict mode: "SyntaxError: Invalid unicode escape in identifier: 'a\\u2118'"
-test/language/identifiers/other_id_continue.js:
- default: "SyntaxError: Invalid character '\\u2118'"
- strict mode: "SyntaxError: Invalid character '\\u2118'"
-test/language/identifiers/other_id_start-escaped.js:
- default: "SyntaxError: Invalid unicode escape in identifier: '\\u2118'"
- strict mode: "SyntaxError: Invalid unicode escape in identifier: '\\u2118'"
-test/language/identifiers/other_id_start.js:
- default: "SyntaxError: Invalid character '\\u2118'"
- strict mode: "SyntaxError: Invalid character '\\u2118'"
test/language/identifiers/val-yield-strict.js:
default: 'Test262: This statement should not be evaluated.'
strict mode: "SyntaxError: Cannot use 'yield' as a variable name in strict mode."
-test/language/identifiers/vertical-tilde-continue-escaped.js:
- default: 'Test262: This statement should not be evaluated.'
- strict mode: 'Test262: This statement should not be evaluated.'
-test/language/identifiers/vertical-tilde-continue.js:
- default: 'Test262: This statement should not be evaluated.'
- strict mode: 'Test262: This statement should not be evaluated.'
-test/language/identifiers/vertical-tilde-start-escaped.js:
- default: 'Test262: This statement should not be evaluated.'
- strict mode: 'Test262: This statement should not be evaluated.'
-test/language/identifiers/vertical-tilde-start.js:
- default: 'Test262: This statement should not be evaluated.'
- strict mode: 'Test262: This statement should not be evaluated.'
test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd.js:
default: 'SyntaxError: No space between binary literal and identifier'
strict mode: 'SyntaxError: No space between binary literal and identifier'
Modified: trunk/JSTests/test262.yaml (239558 => 239559)
--- trunk/JSTests/test262.yaml 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/JSTests/test262.yaml 2018-12-30 17:38:56 UTC (rev 239559)
@@ -89044,21 +89044,21 @@
- path: test262/test/language/identifier-resolution/unscopables.js
cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
- path: test262/test/language/identifiers/other_id_continue-escaped.js
- cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
- path: test262/test/language/identifiers/other_id_continue-escaped.js
- cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
- path: test262/test/language/identifiers/other_id_continue.js
- cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
- path: test262/test/language/identifiers/other_id_continue.js
- cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
- path: test262/test/language/identifiers/other_id_start-escaped.js
- cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
- path: test262/test/language/identifiers/other_id_start-escaped.js
- cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
- path: test262/test/language/identifiers/other_id_start.js
- cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
- path: test262/test/language/identifiers/other_id_start.js
- cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
- path: test262/test/language/identifiers/part-digits-via-escape-hex.js
cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
- path: test262/test/language/identifiers/part-digits-via-escape-hex.js
@@ -89598,21 +89598,21 @@
- path: test262/test/language/identifiers/vals-rus-alpha-upper.js
cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
- path: test262/test/language/identifiers/vertical-tilde-continue-escaped.js
- cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
- path: test262/test/language/identifiers/vertical-tilde-continue-escaped.js
- cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
- path: test262/test/language/identifiers/vertical-tilde-continue.js
- cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
- path: test262/test/language/identifiers/vertical-tilde-continue.js
- cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
- path: test262/test/language/identifiers/vertical-tilde-start-escaped.js
- cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
- path: test262/test/language/identifiers/vertical-tilde-start-escaped.js
- cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
- path: test262/test/language/identifiers/vertical-tilde-start.js
- cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
- path: test262/test/language/identifiers/vertical-tilde-start.js
- cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
- path: test262/test/language/import/dup-bound-names.js
cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
- path: test262/test/language/import/escaped-as-import-specifier.js
Modified: trunk/LayoutTests/ChangeLog (239558 => 239559)
--- trunk/LayoutTests/ChangeLog 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/ChangeLog 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,3 +1,39 @@
+2018-12-30 Ross Kirsling <ross.kirsl...@sony.com>
+
+ [JSC] Identifier validity should be based on ID_Start / ID_Continue properties
+ https://bugs.webkit.org/show_bug.cgi?id=193050
+
+ Reviewed by Yusuke Suzuki.
+
+ * sputnik/Unicode/Unicode_218/S7.6_A1.1_T2-expected.txt:
+ * sputnik/Unicode/Unicode_218/S7.6_A1.1_T6-expected.txt:
+ * sputnik/Unicode/Unicode_218/S7.6_A5.2_T2-expected.txt:
+ * sputnik/Unicode/Unicode_218/S7.6_A5.2_T6-expected.txt:
+ * sputnik/Unicode/Unicode_218/S7.6_A5.3_T1-expected.txt:
+ * sputnik/Unicode/Unicode_218/S7.6_A5.3_T2-expected.txt:
+ * sputnik/Unicode/Unicode_320/S7.6_A1.1_T6-expected.txt:
+ * sputnik/Unicode/Unicode_320/S7.6_A2.3-expected.txt:
+ * sputnik/Unicode/Unicode_320/S7.6_A3.1-expected.txt:
+ * sputnik/Unicode/Unicode_320/S7.6_A5.2_T6-expected.txt:
+ * sputnik/Unicode/Unicode_320/S7.6_A5.2_T9-expected.txt:
+ * sputnik/Unicode/Unicode_320/S7.6_A5.3_T1-expected.txt:
+ * sputnik/Unicode/Unicode_320/S7.6_A5.3_T2-expected.txt:
+ * sputnik/Unicode/Unicode_410/S7.6_A1.1_T6-expected.txt:
+ * sputnik/Unicode/Unicode_410/S7.6_A3.1-expected.txt:
+ * sputnik/Unicode/Unicode_410/S7.6_A5.2_T6-expected.txt:
+ * sputnik/Unicode/Unicode_410/S7.6_A5.3_T1-expected.txt:
+ * sputnik/Unicode/Unicode_410/S7.6_A5.3_T2-expected.txt:
+ * sputnik/Unicode/Unicode_500/S7.6_A1.1_T6-expected.txt:
+ * sputnik/Unicode/Unicode_500/S7.6_A3.1-expected.txt:
+ * sputnik/Unicode/Unicode_500/S7.6_A5.2_T6-expected.txt:
+ * sputnik/Unicode/Unicode_500/S7.6_A5.3_T1-expected.txt:
+ * sputnik/Unicode/Unicode_500/S7.6_A5.3_T2-expected.txt:
+ * sputnik/Unicode/Unicode_510/S7.6_A1.1_T4-expected.txt:
+ * sputnik/Unicode/Unicode_510/S7.6_A1.1_T6-expected.txt:
+ * sputnik/Unicode/Unicode_510/S7.6_A5.2_T4-expected.txt:
+ * sputnik/Unicode/Unicode_510/S7.6_A5.2_T6-expected.txt:
+ Update expectations for outdated tests.
+
2018-12-23 Carlos Garcia Campos <cgar...@igalia.com>
Unreviewed GTK+ gardening. Rebaseline fast/text/zero-font-size.html after r239539.
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A1.1_T2-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A1.1_T2-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A1.1_T2-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A1.1_T2
-FAIL SputnikError: #2118
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A1.1_T6-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A1.1_T6-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A1.1_T6-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A1.1_T6
-FAIL SputnikError: #2160
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.2_T2-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.2_T2-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.2_T2-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.2_T2
-FAIL SputnikError: #2118
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.2_T6-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.2_T6-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.2_T6-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.2_T6
-FAIL SputnikError: #2160
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.3_T1-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.3_T1-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.3_T1-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.3_T1
-FAIL SputnikError: #01F6-01F9
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.3_T2-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.3_T2-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_218/S7.6_A5.3_T2-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.3_T2
-FAIL SputnikError: #01F6-01F9
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A1.1_T6-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A1.1_T6-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A1.1_T6-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A1.1_T6
-FAIL SputnikError: #16EE
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A2.3-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A2.3-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A2.3-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A2.3
-FAIL SputnikError: #1369
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A3.1-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A3.1-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A3.1-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A3.1
-FAIL SputnikError: #0221
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.2_T6-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.2_T6-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.2_T6-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.2_T6
-FAIL SputnikError: #16EE
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.2_T9-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.2_T9-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.2_T9-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.2_T9
-FAIL SputnikError: #1369
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.3_T1-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.3_T1-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.3_T1-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.3_T1
-FAIL SputnikError: #0221
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.3_T2-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.3_T2-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_320/S7.6_A5.3_T2-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.3_T2
-FAIL SputnikError: #0221
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A1.1_T6-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A1.1_T6-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A1.1_T6-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A1.1_T6
-FAIL SputnikError: #16EE
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A3.1-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A3.1-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A3.1-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A3.1
-FAIL SputnikError: #0242-024F
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A5.2_T6-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A5.2_T6-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A5.2_T6-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.2_T6
-FAIL SputnikError: #16EE
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A5.3_T1-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A5.3_T1-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A5.3_T1-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.3_T1
-FAIL SputnikError: #0242-024F
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A5.3_T2-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A5.3_T2-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.6_A5.3_T2-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.3_T2
-FAIL SputnikError: #0242-024F
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A1.1_T6-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A1.1_T6-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A1.1_T6-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A1.1_T6
-FAIL SputnikError: #16EE
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A3.1-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A3.1-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A3.1-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A3.1
-FAIL SputnikError: #02EC
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A5.2_T6-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A5.2_T6-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A5.2_T6-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.2_T6
-FAIL SputnikError: #16EE
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A5.3_T1-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A5.3_T1-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A5.3_T1-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.3_T1
-FAIL SputnikError: #02EC
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A5.3_T2-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A5.3_T2-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.6_A5.3_T2-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.3_T2
-FAIL SputnikError: #02EC
+FAIL SputnikError: #00B7
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A1.1_T4-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A1.1_T4-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A1.1_T4-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A1.1_T4
-PASS
+FAIL SputnikError: #2E2F
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A1.1_T6-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A1.1_T6-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A1.1_T6-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A1.1_T6
-FAIL SputnikError: #16EE
+PASS
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A5.2_T4-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A5.2_T4-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A5.2_T4-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.2_T4
-PASS
+FAIL SputnikError: #2E2F
TEST COMPLETE
Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A5.2_T6-expected.txt (239558 => 239559)
--- trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A5.2_T6-expected.txt 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.6_A5.2_T6-expected.txt 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,6 +1,6 @@
S7.6_A5.2_T6
-FAIL SputnikError: #16EE
+PASS
TEST COMPLETE
Modified: trunk/Source/_javascript_Core/ChangeLog (239558 => 239559)
--- trunk/Source/_javascript_Core/ChangeLog 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-12-30 17:38:56 UTC (rev 239559)
@@ -1,3 +1,25 @@
+2018-12-30 Ross Kirsling <ross.kirsl...@sony.com>
+
+ [JSC] Identifier validity should be based on ID_Start / ID_Continue properties
+ https://bugs.webkit.org/show_bug.cgi?id=193050
+
+ Reviewed by Yusuke Suzuki.
+
+ From https://tc39.github.io/ecma262/#sec-names-and-keywords:
+ UnicodeIDStart::
+ any Unicode code point with the Unicode property "ID_Start"
+ UnicodeIDContinue::
+ any Unicode code point with the Unicode property "ID_Continue"
+
+ * parser/Lexer.cpp:
+ (JSC::Lexer<T>::Lexer):
+ (JSC::isNonLatin1IdentStart):
+ (JSC::isNonLatin1IdentPart):
+ (JSC::isIdentPart):
+ (JSC::Lexer<T>::lex):
+ Ensure identifier start / part is based on ID_Start / ID_Continue.
+ (Implies a special case for U+00B7, which is Latin-1 but Other_ID_Continue.)
+
2018-12-28 Yusuke Suzuki <yusukesuz...@slowstart.org>
[JSC] Remove one indirection in JSObject::toStringName
Modified: trunk/Source/_javascript_Core/parser/Lexer.cpp (239558 => 239559)
--- trunk/Source/_javascript_Core/parser/Lexer.cpp 2018-12-29 05:50:04 UTC (rev 239558)
+++ trunk/Source/_javascript_Core/parser/Lexer.cpp 2018-12-30 17:38:56 UTC (rev 239559)
@@ -57,6 +57,10 @@
CharacterZero,
CharacterNumber,
+ // For single-byte characters grandfathered into Other_ID_Continue -- namely just U+00B7 MIDDLE DOT.
+ // (http://unicode.org/reports/tr31/#Backward_Compatibility)
+ CharacterOtherIdentifierPart,
+
CharacterInvalid,
CharacterLineTerminator,
CharacterExclamationMark,
@@ -278,7 +282,7 @@
/* 180 - Sk category */ CharacterInvalid,
/* 181 - Ll category */ CharacterIdentifierStart,
/* 182 - So category */ CharacterInvalid,
-/* 183 - Po category */ CharacterInvalid,
+/* 183 - Po category */ CharacterOtherIdentifierPart,
/* 184 - Sk category */ CharacterInvalid,
/* 185 - No category */ CharacterInvalid,
/* 186 - Ll category */ CharacterIdentifierStart,
@@ -727,7 +731,7 @@
static NEVER_INLINE bool isNonLatin1IdentStart(UChar c)
{
- return U_GET_GC_MASK(c) & U_GC_L_MASK;
+ return u_hasBinaryProperty(c, UCHAR_ID_START);
}
static ALWAYS_INLINE bool isLatin1(LChar)
@@ -757,16 +761,15 @@
static NEVER_INLINE bool isNonLatin1IdentPart(UChar32 c)
{
- // FIXME: ES6 says this should be based on the Unicode property ID_Continue now instead.
- return (U_GET_GC_MASK(c) & (U_GC_L_MASK | U_GC_MN_MASK | U_GC_MC_MASK | U_GC_ND_MASK | U_GC_PC_MASK)) || c == 0x200C || c == 0x200D;
+ return u_hasBinaryProperty(c, UCHAR_ID_CONTINUE) || c == 0x200C || c == 0x200D;
}
static ALWAYS_INLINE bool isIdentPart(LChar c)
{
// Character types are divided into two groups depending on whether they can be part of an
- // identifier or not. Those whose type value is less or equal than CharacterNumber can be
+ // identifier or not. Those whose type value is less or equal than CharacterOtherIdentifierPart can be
// part of an identifier. (See the CharacterType definition for more details.)
- return typesOfLatin1Characters[c] <= CharacterNumber;
+ return typesOfLatin1Characters[c] <= CharacterOtherIdentifierPart;
}
static ALWAYS_INLINE bool isIdentPart(UChar32 c)
@@ -2312,6 +2315,7 @@
goto parseIdent;
FALLTHROUGH;
+ case CharacterOtherIdentifierPart:
case CharacterInvalid:
m_lexErrorMessage = invalidCharacterMessage();
token = ERRORTOK;