dart-sdk/tests
Nicholas Shahan 3c75002cee [ddc] Stop modifying the native JavaScript Object prototype
With this change the Dart Core Object members (`.hashCode`, 
`.runtimeType`, `.noSuchMethod()`, `.toString()`, and 
`operator ==`) are no longer installed onto the native JavaScript
Object prototype. This is done because the Object prototype will be 
sealed as a security precaution in some environments to avoid 
prototype pollution exploits.

This means that dispatching to these APIs will change when the 
compiler cannot know if the receiver may be null or a value from 
JavaScript interop. In those cases a call to a helper method is 
inserted instead. The helpers will probe for the API on the value, 
call it if available or execute a default version.

NOTE: Many other native JavaScript prototypes are still modified. This
change is only for the Object prototype.

Issue: https://github.com/dart-lang/sdk/issues/49670

Change-Id: Iddb3a48e790dd414aa3254d729535c4408e99b3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/310971
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2023-08-10 19:45:59 +00:00
..
co19 [test] Skip two dartdevc tests that are timing out 2023-08-03 11:31:35 +00:00
co19_2 [test] Introduce status variable $simulator, and fix some cases missing simarm_x64. 2023-04-04 03:10:26 +00:00
corelib Fix bug in VM _CompactHashIterable. 2023-07-04 11:00:50 +00:00
corelib_2 [test] Skip corelib tests relying on symbol names and stack traces in obfuscated and dwarf modes 2023-05-26 20:05:08 +00:00
dartdevc [ddc] Seal the native Object prototype in test infra 2023-08-10 19:45:59 +00:00
dartdevc_2 [ddc] Seal the native Object prototype in test infra 2023-08-10 19:45:59 +00:00
ffi [vm/ffi] Closure callbacks for async callbacks 2023-07-26 23:23:26 +00:00
ffi_2 [infra] Make the sanitizer a first-class status variable. 2023-07-10 17:46:31 +00:00
language [analyzer] Move all constructor error reporting to _InstanceCreationEvaluator.evaluate 2023-08-08 21:55:34 +00:00
language_2 [analyzer] Move all constructor error reporting to _InstanceCreationEvaluator.evaluate 2023-08-08 21:55:34 +00:00
lib [ddc] Stop modifying the native JavaScript Object prototype 2023-08-10 19:45:59 +00:00
lib_2 [ddc] Seal the native Object prototype in test infra 2023-08-10 19:45:59 +00:00
modular [Reland][cfe] Support external constructor with final fields 2023-01-17 17:29:28 +00:00
standalone Clean up Platform.lineTerminator test. 2023-07-19 20:23:51 +00:00
standalone_2 Clean up Platform.lineTerminator test. 2023-07-19 20:23:51 +00:00
web [dart2js] Add interceptors for JavaScript Symbol and BigInt 2023-08-10 14:42:38 +00:00
web_2 [dart2js] Fix failing web/deferred_fail_and_retry_test on d8 platform. 2023-06-27 18:25:30 +00:00
legacy_status_dart2js.csv Spelling tests 2022-12-19 12:56:47 +00:00
OWNERS [infra] Add OWNERS to the Dart SDK 2022-02-14 14:06:34 +00:00
README.md

This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/wiki/Testing.