Title: [238004] trunk
Revision
238004
Author
[email protected]
Date
2018-11-08 15:40:25 -0800 (Thu, 08 Nov 2018)

Log Message

U+180E is no longer a whitespace character
https://bugs.webkit.org/show_bug.cgi?id=191415

Reviewed by Saam Barati.

JSTests:

* ChakraCore/test/es5/regexSpace.baseline:
* ChakraCore/test/es6/unicode_whitespace.js:
Update tests to latest version.
(See https://github.com/Microsoft/ChakraCore/commit/7c097b698de1e400286f9b957597b2a81fc6f80b.)

* test262.yaml:
* test262/config.yaml:
* test262/expectations.yaml:
Update expectations.

Source/_javascript_Core:

Mongolian Vowel Separator stopped being a valid whitespace character as of ES2016.
(https://github.com/tc39/ecma262/pull/300)

* parser/Lexer.h:
(JSC::Lexer<UChar>::isWhiteSpace):
* runtime/ParseInt.h:
(JSC::isStrWhiteSpace):
* yarr/create_regex_tables:

LayoutTests:

* js/ToNumber-expected.txt:
* js/parseFloat-expected.txt:
* js/script-tests/ToNumber.js:
* js/script-tests/parseFloat.js:
Update tests and expectations.

* sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A2-expected.txt:
* sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T1-expected.txt:
* sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T2-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.2/15.10.2.12_CharacterClassEscape/S15.10.2.12_A1_T1-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.2/15.10.2.12_CharacterClassEscape/S15.10.2.12_A2_T1-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.2_parseInt/S15.1.2.2_A2_T10-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.3_parseFloat/S15.1.2.3_A2_T10-expected.txt:
* sputnik/Unicode/Unicode_410/S15.10.2.12_A1_T6-expected.txt:
* sputnik/Unicode/Unicode_410/S15.10.2.12_A2_T6-expected.txt:
* sputnik/Unicode/Unicode_410/S7.2_A1.6_T1-expected.txt:
* sputnik/Unicode/Unicode_500/S15.10.2.12_A1_T6-expected.txt:
* sputnik/Unicode/Unicode_500/S15.10.2.12_A2_T6-expected.txt:
* sputnik/Unicode/Unicode_500/S7.2_A1.6_T1-expected.txt:
* sputnik/Unicode/Unicode_510/S15.10.2.12_A1_T6-expected.txt:
* sputnik/Unicode/Unicode_510/S15.10.2.12_A2_T6-expected.txt:
* sputnik/Unicode/Unicode_510/S7.2_A1.6_T1-expected.txt:
Let outdated sputnik checks fail.

Modified Paths

Diff

Modified: trunk/JSTests/ChakraCore/test/es5/regexSpace.baseline (238003 => 238004)


--- trunk/JSTests/ChakraCore/test/es5/regexSpace.baseline	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/JSTests/ChakraCore/test/es5/regexSpace.baseline	2018-11-08 23:40:25 UTC (rev 238004)
@@ -7,7 +7,6 @@
 \u0020
 \u00a0
 \u1680
-\u180e
 \u2000
 \u2001
 \u2002

Modified: trunk/JSTests/ChakraCore/test/es6/unicode_whitespace.js (238003 => 238004)


--- trunk/JSTests/ChakraCore/test/es6/unicode_whitespace.js	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/JSTests/ChakraCore/test/es6/unicode_whitespace.js	2018-11-08 23:40:25 UTC (rev 238004)
@@ -16,7 +16,6 @@
     '\u0020',
     '\u00a0',
     '\u1680',
-    '\u180e',
     '\u2000',
     '\u2001',
     '\u2002',

Modified: trunk/JSTests/ChangeLog (238003 => 238004)


--- trunk/JSTests/ChangeLog	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/JSTests/ChangeLog	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,3 +1,20 @@
+2018-11-08  Ross Kirsling  <[email protected]>
+
+        U+180E is no longer a whitespace character
+        https://bugs.webkit.org/show_bug.cgi?id=191415
+
+        Reviewed by Saam Barati.
+
+        * ChakraCore/test/es5/regexSpace.baseline:
+        * ChakraCore/test/es6/unicode_whitespace.js:
+        Update tests to latest version.
+        (See https://github.com/Microsoft/ChakraCore/commit/7c097b698de1e400286f9b957597b2a81fc6f80b.)
+
+        * test262.yaml:
+        * test262/config.yaml:
+        * test262/expectations.yaml:
+        Update expectations.
+
 2018-11-07  Caio Lima  <[email protected]>
 
         [BigInt] Add support to BigInt into ValueAdd

Modified: trunk/JSTests/test262/config.yaml (238003 => 238004)


--- trunk/JSTests/test262/config.yaml	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/JSTests/test262/config.yaml	2018-11-08 23:40:25 UTC (rev 238004)
@@ -16,8 +16,6 @@
     - Symbol.matchAll
     # https://bugs.webkit.org/show_bug.cgi?id=174931
     - regexp-lookbehind
-    # https://bugs.webkit.org/show_bug.cgi?id=126608
-    - u180e
   files:
     - test/built-ins/Array/prototype/reverse/length-exceeding-integer-limit-with-object.js
     - test/built-ins/Array/prototype/unshift/length-near-integer-limit.js

Modified: trunk/JSTests/test262/expectations.yaml (238003 => 238004)


--- trunk/JSTests/test262/expectations.yaml	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/JSTests/test262/expectations.yaml	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1104,9 +1104,6 @@
 test/built-ins/Proxy/ownKeys/return-duplicate-symbol-entries-throws.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/built-ins/RegExp/S15.10.2.12_A2_T1.js:
-  default: 'Test262Error: #6: Error matching character class S between character 1800 and 1bff'
-  strict mode: 'Test262Error: #6: Error matching character class S between character 1800 and 1bff'
 test/built-ins/RegExp/named-groups/groups-object-subclass-sans.js:
   default: 'Test262Error: Expected SameValue(«b», «$<a>») to be true'
   strict mode: 'Test262Error: Expected SameValue(«b», «$<a>») to be true'

Modified: trunk/JSTests/test262.yaml (238003 => 238004)


--- trunk/JSTests/test262.yaml	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/JSTests/test262.yaml	2018-11-08 23:40:25 UTC (rev 238004)
@@ -24270,9 +24270,9 @@
 - path: test262/test/built-ins/Number/S9.3.1_A29.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
 - path: test262/test/built-ins/Number/S9.3.1_A2_U180E.js
-  cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+  cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/Number/S9.3.1_A2_U180E.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/built-ins/Number/S9.3.1_A30.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/Number/S9.3.1_A30.js
@@ -24290,17 +24290,17 @@
 - path: test262/test/built-ins/Number/S9.3.1_A3_T1.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
 - path: test262/test/built-ins/Number/S9.3.1_A3_T1_U180E.js
-  cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+  cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/Number/S9.3.1_A3_T1_U180E.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/built-ins/Number/S9.3.1_A3_T2.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/Number/S9.3.1_A3_T2.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
 - path: test262/test/built-ins/Number/S9.3.1_A3_T2_U180E.js
-  cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+  cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/Number/S9.3.1_A3_T2_U180E.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/built-ins/Number/S9.3.1_A4_T1.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/Number/S9.3.1_A4_T1.js
@@ -40576,9 +40576,9 @@
 - path: test262/test/built-ins/RegExp/S15.10.2.12_A1_T5.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
 - path: test262/test/built-ins/RegExp/S15.10.2.12_A2_T1.js
-  cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+  cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/RegExp/S15.10.2.12_A2_T1.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/built-ins/RegExp/S15.10.2.12_A2_T2.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/RegExp/S15.10.2.12_A2_T2.js
@@ -45252,9 +45252,9 @@
 - path: test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js
   cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
 - path: test262/test/built-ins/RegExp/u180e.js
-  cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+  cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/RegExp/u180e.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/built-ins/RegExp/unicode_identity_escape.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/RegExp/unicode_identity_escape.js
@@ -50194,9 +50194,9 @@
 - path: test262/test/built-ins/String/prototype/trim/name.js
   cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
 - path: test262/test/built-ins/String/prototype/trim/u180e.js
-  cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+  cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
 - path: test262/test/built-ins/String/prototype/trim/u180e.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/built-ins/String/prototype/trimEnd/length.js
   cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
 - path: test262/test/built-ins/String/prototype/trimEnd/length.js
@@ -59342,9 +59342,9 @@
 - path: test262/test/built-ins/parseFloat/S15.1.2.3_A2_T10.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
 - path: test262/test/built-ins/parseFloat/S15.1.2.3_A2_T10_U180E.js
-  cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+  cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/parseFloat/S15.1.2.3_A2_T10_U180E.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/built-ins/parseFloat/S15.1.2.3_A2_T2.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/parseFloat/S15.1.2.3_A2_T2.js
@@ -59570,9 +59570,9 @@
 - path: test262/test/built-ins/parseInt/S15.1.2.2_A2_T10.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
 - path: test262/test/built-ins/parseInt/S15.1.2.2_A2_T10_U180E.js
-  cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+  cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/parseInt/S15.1.2.2_A2_T10_U180E.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/built-ins/parseInt/S15.1.2.2_A2_T2.js
   cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
 - path: test262/test/built-ins/parseInt/S15.1.2.2_A2_T2.js
@@ -117208,10 +117208,10 @@
 - path: test262/test/language/white-space/S7.2_A5_T5.js
   cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
 - path: test262/test/language/white-space/mongolian-vowel-separator-eval.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/white-space/mongolian-vowel-separator-eval.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/white-space/mongolian-vowel-separator.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/white-space/mongolian-vowel-separator.js
-  cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+  cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]

Modified: trunk/LayoutTests/ChangeLog (238003 => 238004)


--- trunk/LayoutTests/ChangeLog	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/ChangeLog	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,3 +1,34 @@
+2018-11-08  Ross Kirsling  <[email protected]>
+
+        U+180E is no longer a whitespace character
+        https://bugs.webkit.org/show_bug.cgi?id=191415
+
+        Reviewed by Saam Barati.
+
+        * js/ToNumber-expected.txt:
+        * js/parseFloat-expected.txt:
+        * js/script-tests/ToNumber.js:
+        * js/script-tests/parseFloat.js:
+        Update tests and expectations.
+
+        * sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A2-expected.txt:
+        * sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T1-expected.txt:
+        * sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T2-expected.txt:
+        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.2/15.10.2.12_CharacterClassEscape/S15.10.2.12_A1_T1-expected.txt:
+        * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.2/15.10.2.12_CharacterClassEscape/S15.10.2.12_A2_T1-expected.txt:
+        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.2_parseInt/S15.1.2.2_A2_T10-expected.txt:
+        * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.3_parseFloat/S15.1.2.3_A2_T10-expected.txt:
+        * sputnik/Unicode/Unicode_410/S15.10.2.12_A1_T6-expected.txt:
+        * sputnik/Unicode/Unicode_410/S15.10.2.12_A2_T6-expected.txt:
+        * sputnik/Unicode/Unicode_410/S7.2_A1.6_T1-expected.txt:
+        * sputnik/Unicode/Unicode_500/S15.10.2.12_A1_T6-expected.txt:
+        * sputnik/Unicode/Unicode_500/S15.10.2.12_A2_T6-expected.txt:
+        * sputnik/Unicode/Unicode_500/S7.2_A1.6_T1-expected.txt:
+        * sputnik/Unicode/Unicode_510/S15.10.2.12_A1_T6-expected.txt:
+        * sputnik/Unicode/Unicode_510/S15.10.2.12_A2_T6-expected.txt:
+        * sputnik/Unicode/Unicode_510/S7.2_A1.6_T1-expected.txt:
+        Let outdated sputnik checks fail.
+
 2018-11-07  Myles C. Maxfield  <[email protected]>
 
         Unprefix text-decoration CSS3 properties

Modified: trunk/LayoutTests/js/ToNumber-expected.txt (238003 => 238004)


--- trunk/LayoutTests/js/ToNumber-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/js/ToNumber-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -54,7 +54,7 @@
 PASS +ls is 0
 PASS +ps is 0
 PASS +oghamSpaceMark is 0
-PASS +mongolianVowelSeparator is 0
+PASS +mongolianVowelSeparator is NaN
 PASS +enQuad is 0
 PASS +emQuad is 0
 PASS +enSpace is 0
@@ -78,7 +78,7 @@
 PASS +(ls + '1') is 1
 PASS +(ps + '1') is 1
 PASS +(oghamSpaceMark + '1') is 1
-PASS +(mongolianVowelSeparator + '1') is 1
+PASS +(mongolianVowelSeparator + '1') is NaN
 PASS +(enQuad + '1') is 1
 PASS +(emQuad + '1') is 1
 PASS +(enSpace + '1') is 1
@@ -102,7 +102,7 @@
 PASS +('1' + ls) is 1
 PASS +('1' + ps) is 1
 PASS +('1' + oghamSpaceMark) is 1
-PASS +('1' + mongolianVowelSeparator) is 1
+PASS +('1' + mongolianVowelSeparator) is NaN
 PASS +('1' + enQuad) is 1
 PASS +('1' + emQuad) is 1
 PASS +('1' + enSpace) is 1

Modified: trunk/LayoutTests/js/parseFloat-expected.txt (238003 => 238004)


--- trunk/LayoutTests/js/parseFloat-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/js/parseFloat-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -32,7 +32,7 @@
 PASS parseFloat(ls + '1') is 1
 PASS parseFloat(ps + '1') is 1
 PASS parseFloat(oghamSpaceMark + '1') is 1
-PASS parseFloat(mongolianVowelSeparator + '1') is 1
+PASS parseFloat(mongolianVowelSeparator + '1') is NaN
 PASS parseFloat(enQuad + '1') is 1
 PASS parseFloat(emQuad + '1') is 1
 PASS parseFloat(enSpace + '1') is 1

Modified: trunk/LayoutTests/js/script-tests/ToNumber.js (238003 => 238004)


--- trunk/LayoutTests/js/script-tests/ToNumber.js	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/js/script-tests/ToNumber.js	2018-11-08 23:40:25 UTC (rev 238004)
@@ -82,7 +82,7 @@
 shouldBe("+ls", "0");
 shouldBe("+ps", "0");
 shouldBe("+oghamSpaceMark", "0");
-shouldBe("+mongolianVowelSeparator", "0");
+shouldBe("+mongolianVowelSeparator", "NaN");
 shouldBe("+enQuad", "0");
 shouldBe("+emQuad", "0");
 shouldBe("+enSpace", "0");
@@ -106,7 +106,7 @@
 shouldBe("+(ls + '1')", "1");
 shouldBe("+(ps + '1')", "1");
 shouldBe("+(oghamSpaceMark + '1')", "1");
-shouldBe("+(mongolianVowelSeparator + '1')", "1");
+shouldBe("+(mongolianVowelSeparator + '1')", "NaN");
 shouldBe("+(enQuad + '1')", "1");
 shouldBe("+(emQuad + '1')", "1");
 shouldBe("+(enSpace + '1')", "1");
@@ -130,7 +130,7 @@
 shouldBe("+('1' + ls)", "1");
 shouldBe("+('1' + ps)", "1");
 shouldBe("+('1' + oghamSpaceMark)", "1");
-shouldBe("+('1' + mongolianVowelSeparator)", "1");
+shouldBe("+('1' + mongolianVowelSeparator)", "NaN");
 shouldBe("+('1' + enQuad)", "1");
 shouldBe("+('1' + emQuad)", "1");
 shouldBe("+('1' + enSpace)", "1");

Modified: trunk/LayoutTests/js/script-tests/parseFloat.js (238003 => 238004)


--- trunk/LayoutTests/js/script-tests/parseFloat.js	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/js/script-tests/parseFloat.js	2018-11-08 23:40:25 UTC (rev 238004)
@@ -58,7 +58,7 @@
 shouldBe("parseFloat(ls + '1')", "1");
 shouldBe("parseFloat(ps + '1')", "1");
 shouldBe("parseFloat(oghamSpaceMark + '1')", "1");
-shouldBe("parseFloat(mongolianVowelSeparator + '1')", "1");
+shouldBe("parseFloat(mongolianVowelSeparator + '1')", "NaN");
 shouldBe("parseFloat(enQuad + '1')", "1");
 shouldBe("parseFloat(emQuad + '1')", "1");
 shouldBe("parseFloat(enSpace + '1')", "1");

Modified: trunk/LayoutTests/sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A2-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A2-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A2-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S9.3.1_A2
 
-PASS 
+FAIL SputnikError: #1.1: Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") === 0. Actual: NaN
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T1-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T1-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T1-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S9.3.1_A3_T1
 
-PASS 
+FAIL SputnikError: #1: Number("\u0009\u000C\u0020\u00A0\u000B\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") === Number("")
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T2-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T2-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Conformance/09_Type_Conversion/9.3_ToNumber/9.3.1_ToNumber_from_String/S9.3.1_A3_T2-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S9.3.1_A3_T2
 
-PASS 
+FAIL SputnikError: #1: Number("\u0009\u000C\u0020\u00A0\u000B"+"\u000A\u000D\u2028\u2029\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000") === Number("")
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.2/15.10.2.12_CharacterClassEscape/S15.10.2.12_A1_T1-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.2/15.10.2.12_CharacterClassEscape/S15.10.2.12_A1_T1-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.2/15.10.2.12_CharacterClassEscape/S15.10.2.12_A1_T1-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S15.10.2.12_A1_T1
 
-FAIL SputnikError: #63: Error matching character class s between character fc00 and ffff
+FAIL SputnikError: #6: Error matching character class s between character 1800 and 1bff
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.2/15.10.2.12_CharacterClassEscape/S15.10.2.12_A2_T1-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.2/15.10.2.12_CharacterClassEscape/S15.10.2.12_A2_T1-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.2/15.10.2.12_CharacterClassEscape/S15.10.2.12_A2_T1-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S15.10.2.12_A2_T1
 
-FAIL SputnikError: #63: Error matching character class S between character fc00 and ffff
+FAIL SputnikError: #6: Error matching character class S between character 1800 and 1bff
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.2_parseInt/S15.1.2.2_A2_T10-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.2_parseInt/S15.1.2.2_A2_T10-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.2_parseInt/S15.1.2.2_A2_T10-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S15.1.2.2_A2_T10
 
-PASS 
+FAIL SputnikError: #1.180E 
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.3_parseFloat/S15.1.2.3_A2_T10-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.3_parseFloat/S15.1.2.3_A2_T10-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.3_parseFloat/S15.1.2.3_A2_T10-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S15.1.2.3_A2_T10
 
-PASS 
+FAIL SputnikError: #1.180E 
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_410/S15.10.2.12_A1_T6-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Unicode/Unicode_410/S15.10.2.12_A1_T6-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_410/S15.10.2.12_A1_T6-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S15.10.2.12_A1_T6
 
-PASS 
+FAIL SputnikError: #180E 
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_410/S15.10.2.12_A2_T6-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Unicode/Unicode_410/S15.10.2.12_A2_T6-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_410/S15.10.2.12_A2_T6-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S15.10.2.12_A2_T6
 
-PASS 
+FAIL SputnikError: #180E 
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.2_A1.6_T1-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.2_A1.6_T1-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_410/S7.2_A1.6_T1-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S7.2_A1.6_T1
 
-PASS 
+FAIL SputnikError: #180E 
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_500/S15.10.2.12_A1_T6-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Unicode/Unicode_500/S15.10.2.12_A1_T6-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_500/S15.10.2.12_A1_T6-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S15.10.2.12_A1_T6
 
-PASS 
+FAIL SputnikError: #180E 
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_500/S15.10.2.12_A2_T6-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Unicode/Unicode_500/S15.10.2.12_A2_T6-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_500/S15.10.2.12_A2_T6-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S15.10.2.12_A2_T6
 
-PASS 
+FAIL SputnikError: #180E 
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.2_A1.6_T1-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.2_A1.6_T1-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_500/S7.2_A1.6_T1-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S7.2_A1.6_T1
 
-PASS 
+FAIL SputnikError: #180E 
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_510/S15.10.2.12_A1_T6-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Unicode/Unicode_510/S15.10.2.12_A1_T6-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_510/S15.10.2.12_A1_T6-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S15.10.2.12_A1_T6
 
-PASS 
+FAIL SputnikError: #180E 
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_510/S15.10.2.12_A2_T6-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Unicode/Unicode_510/S15.10.2.12_A2_T6-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_510/S15.10.2.12_A2_T6-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S15.10.2.12_A2_T6
 
-PASS 
+FAIL SputnikError: #180E 
 
 TEST COMPLETE
 

Modified: trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.2_A1.6_T1-expected.txt (238003 => 238004)


--- trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.2_A1.6_T1-expected.txt	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/LayoutTests/sputnik/Unicode/Unicode_510/S7.2_A1.6_T1-expected.txt	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,6 +1,6 @@
 S7.2_A1.6_T1
 
-PASS 
+FAIL SputnikError: #180E 
 
 TEST COMPLETE
 

Modified: trunk/Source/_javascript_Core/ChangeLog (238003 => 238004)


--- trunk/Source/_javascript_Core/ChangeLog	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-11-08 23:40:25 UTC (rev 238004)
@@ -1,3 +1,19 @@
+2018-11-08  Ross Kirsling  <[email protected]>
+
+        U+180E is no longer a whitespace character
+        https://bugs.webkit.org/show_bug.cgi?id=191415
+
+        Reviewed by Saam Barati.
+
+        Mongolian Vowel Separator stopped being a valid whitespace character as of ES2016.
+        (https://github.com/tc39/ecma262/pull/300)
+
+        * parser/Lexer.h:
+        (JSC::Lexer<UChar>::isWhiteSpace):
+        * runtime/ParseInt.h:
+        (JSC::isStrWhiteSpace):
+        * yarr/create_regex_tables:
+
 2018-11-08  Keith Miller  <[email protected]>
 
         jitEnabledByDefault() should be on useJIT not useBaselineJIT

Modified: trunk/Source/_javascript_Core/parser/Lexer.h (238003 => 238004)


--- trunk/Source/_javascript_Core/parser/Lexer.h	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/Source/_javascript_Core/parser/Lexer.h	2018-11-08 23:40:25 UTC (rev 238004)
@@ -240,8 +240,7 @@
 template <>
 ALWAYS_INLINE bool Lexer<UChar>::isWhiteSpace(UChar ch)
 {
-    // 0x180E used to be in Zs category before Unicode 6.3, and EcmaScript says that we should keep treating it as such.
-    return (ch < 256) ? Lexer<LChar>::isWhiteSpace(static_cast<LChar>(ch)) : (u_charType(ch) == U_SPACE_SEPARATOR || ch == 0x180E || ch == 0xFEFF);
+    return (ch < 256) ? Lexer<LChar>::isWhiteSpace(static_cast<LChar>(ch)) : (u_charType(ch) == U_SPACE_SEPARATOR || ch == 0xFEFF);
 }
 
 template <>

Modified: trunk/Source/_javascript_Core/runtime/ParseInt.h (238003 => 238004)


--- trunk/Source/_javascript_Core/runtime/ParseInt.h	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/Source/_javascript_Core/runtime/ParseInt.h	2018-11-08 23:40:25 UTC (rev 238004)
@@ -110,7 +110,6 @@
     case 0x000D:
     case 0x0020:
     case 0x00A0:
-    case 0x180E: // This character used to be in Zs category before Unicode 6.3, and EcmaScript says that we should keep treating it as such.
     case 0x2028:
     case 0x2029:
     case 0xFEFF:

Modified: trunk/Source/_javascript_Core/yarr/create_regex_tables (238003 => 238004)


--- trunk/Source/_javascript_Core/yarr/create_regex_tables	2018-11-08 22:43:52 UTC (rev 238003)
+++ trunk/Source/_javascript_Core/yarr/create_regex_tables	2018-11-08 23:40:25 UTC (rev 238004)
@@ -32,7 +32,7 @@
     "nonwordchar": { "UseTable" : True, "Inverse": "wordchar", "data": ['`', (0, ord('0') - 1), (ord('9') + 1, ord('A') - 1), (ord('Z') + 1, ord('_') - 1), (ord('z') + 1, 0x10ffff)]},
     "nonwordUnicodeIgnoreCaseChar": { "UseTable" : False, "Inverse": "wordUnicodeIgnoreCaseChar", "data": ['`', (0, ord('0') - 1), (ord('9') + 1, ord('A') - 1), (ord('Z') + 1, ord('_') - 1), (ord('z') + 1, 0x017e), (0x0180, 0x2129), (0x212b, 0x10ffff)]},
     "newline": { "UseTable" : False, "data": ['\n', '\r', 0x2028, 0x2029]},
-    "spaces": { "UseTable" : True, "data": [' ', ('\t', '\r'), 0xa0, 0x1680, 0x180e, 0x2028, 0x2029, 0x202f, 0x205f, 0x3000, (0x2000, 0x200a), 0xfeff]},
+    "spaces": { "UseTable" : True, "data": [' ', ('\t', '\r'), 0xa0, 0x1680, 0x2028, 0x2029, 0x202f, 0x205f, 0x3000, (0x2000, 0x200a), 0xfeff]},
     "nonspaces": { "UseTable" : True, "Inverse": "spaces", "data": [(0, ord('\t') - 1), (ord('\r') + 1, ord(' ') - 1), (ord(' ') + 1, 0x009f), (0x00a1, 0x167f), (0x1681, 0x180d), (0x180f, 0x1fff), (0x200b, 0x2027), (0x202a, 0x202e), (0x2030, 0x205e), (0x2060, 0x2fff), (0x3001, 0xfefe), (0xff00, 0x10ffff)]},
     "digits": { "UseTable" : False, "data": [('0', '9')]},
     "nondigits": { "UseTable" : False, "Inverse": "digits", "data": [(0, ord('0') - 1), (ord('9') + 1, 0x10ffff)] }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to