Test case: > Date.prototype.toJSON.call({toISOString: () => []}) Expected: < [] Actual: < TypeError: toISOString did not return a primitive value ECMA262: https://tc39.github.io/ecma262/#sec-date.prototype.tojson (step 4) Test262: https://github.com/tc39/test262/pull/2190
<rdar://problem/51367166>
Created attachment 371211 [details] Patch
Comment on attachment 371211 [details] Patch Attachment 371211 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/12366422 New failing tests: js/dom/JSON-stringify.html
Created attachment 371218 [details] Archive of layout-test-results from ews103 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-highsierra Platform: Mac OS X 10.13.6
Comment on attachment 371211 [details] Patch Attachment 371211 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/12366518 New failing tests: js/dom/JSON-stringify.html
Created attachment 371219 [details] Archive of layout-test-results from ews107 for mac-highsierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
Comment on attachment 371211 [details] Patch Attachment 371211 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/12366610 New failing tests: js/dom/JSON-stringify.html
Created attachment 371222 [details] Archive of layout-test-results from ews215 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews215 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Comment on attachment 371211 [details] Patch Attachment 371211 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/12366526 New failing tests: js/dom/JSON-stringify.html
Created attachment 371223 [details] Archive of layout-test-results from ews117 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-highsierra Platform: Mac OS X 10.13.6
Comment on attachment 371211 [details] Patch Attachment 371211 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/12366676 New failing tests: js/dom/JSON-stringify.html
Created attachment 371226 [details] Archive of layout-test-results from ews122 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews122 Port: ios-simulator-wk2 Platform: Mac OS X 10.14.5
Created attachment 371240 [details] Patch
Comment on attachment 371240 [details] Patch Attachment 371240 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/12370562 New failing tests: http/wpt/service-workers/service-worker-networkprocess-crash.html
Created attachment 371255 [details] Archive of layout-test-results from ews105 for mac-highsierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews105 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
Comment on attachment 371240 [details] Patch Attachment 371240 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/12370787 New failing tests: fast/shadow-dom/svg-text-path-href-change-in-shadow-tree.html
Created attachment 371260 [details] Archive of layout-test-results from ews211 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews211 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Comment on attachment 371240 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=371240&action=review > Source/JavaScriptCore/ChangeLog:8 > + Don't throw TypeError if result of toISOString call is not a primitive. What's the motivation for this change? Is there a relevant specification? How do other browsers behave?
Comment on attachment 371240 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=371240&action=review Are there no test262 tests for this? Can you run `./Tools/Scripts/test262-runner` and see it this fixes any tests? >> Source/JavaScriptCore/ChangeLog:8 >> + Don't throw TypeError if result of toISOString call is not a primitive. > > What's the motivation for this change? Is there a relevant specification? How do other browsers behave? I think Alexsey commented on this in the bugzilla. It's part of https://tc39.github.io/ecma262/#sec-date.prototype.tojson. Although, I think it'd be good to have a link to the spec in the ChangeLog.
Created attachment 371390 [details] Patch
I've updated change logs to include spec link. Other browsers agree on spec: please see CI results of https://github.com/tc39/test262/pull/2190
Created attachment 372363 [details] Patch With test262 imported, this patch now fixes a few tests.
Created attachment 376709 [details] Patch Rebase patch.
Comment on attachment 376709 [details] Patch Clearing flags on attachment: 376709 Committed r248876: <https://trac.webkit.org/changeset/248876>
All reviewed patches have been landed. Closing bug.