Add Set.prototype.union (#499)

This commit is contained in:
Ben Noordhuis 2024-09-06 09:24:21 +02:00 committed by GitHub
parent 77884360d6
commit 8e81a88a18
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 367 additions and 1 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -78,6 +78,8 @@ DEF(await, "await")
/* empty string */
DEF(empty_string, "")
/* identifiers */
DEF(keys, "keys")
DEF(size, "size")
DEF(length, "length")
DEF(message, "message")
DEF(cause, "cause")

102
quickjs.c
View file

@ -46166,6 +46166,107 @@ static int JS_WriteSet(BCWriterState *s, struct JSMapState *map_state)
return js_map_write(s, map_state, MAGIC_SET);
}
static int js_setlike_check(JSContext *ctx, JSValue setlike, int64_t *size)
{
JSValue val;
double d;
BOOL ok;
if (JS_GetOpaque(setlike, JS_CLASS_SET))
return 0;
val = JS_GetProperty(ctx, setlike, JS_ATOM_size);
if (JS_IsException(val))
return -1;
if (JS_IsUndefined(val)) {
JS_ThrowTypeError(ctx, ".size is undefined");
return -1;
}
if (JS_ToFloat64Free(ctx, &d, val) < 0)
return -1;
if (isnan(d)) {
JS_ThrowTypeError(ctx, ".size is not a number");
return -1;
}
val = JS_GetProperty(ctx, setlike, JS_ATOM_has);
if (JS_IsException(val))
return -1;
if (JS_IsUndefined(val)) {
JS_ThrowTypeError(ctx, ".has is undefined");
return -1;
}
ok = JS_IsFunction(ctx, val);
JS_FreeValue(ctx, val);
if (!ok) {
JS_ThrowTypeError(ctx, ".has is not a function");
return -1;
}
*size = 0;
if (is_safe_integer(d))
*size = d;
return 0;
}
static JSValue js_set_union(JSContext *ctx, JSValue this_val,
int argc, JSValue *argv)
{
JSValue newset, item, iter, next, rv;
struct list_head *el;
JSMapRecord *mr;
JSMapState *s;
int64_t size;
BOOL done;
s = JS_GetOpaque2(ctx, this_val, JS_CLASS_SET);
if (!s)
return JS_EXCEPTION;
newset = js_map_constructor(ctx, JS_UNDEFINED, 0, NULL, MAGIC_SET);
if (JS_IsException(newset))
return JS_EXCEPTION;
iter = JS_UNDEFINED;
next = JS_UNDEFINED;
// note: has JS-observable side effects
if (js_setlike_check(ctx, argv[0], &size) < 0)
goto exception;
list_for_each(el, &s->records) {
mr = list_entry(el, JSMapRecord, link);
if (mr->empty)
continue;
rv = js_map_set(ctx, newset, 1, &mr->key, MAGIC_SET);
if (JS_IsException(rv))
goto exception;
JS_FreeValue(ctx, rv);
}
iter = JS_GetProperty(ctx, argv[0], JS_ATOM_keys);
if (JS_IsException(iter))
goto exception;
iter = JS_CallFree(ctx, iter, argv[0], 0, NULL);
if (JS_IsException(iter))
goto exception;
next = JS_GetProperty(ctx, iter, JS_ATOM_next);
if (JS_IsException(next))
goto exception;
for (;;) {
item = JS_IteratorNext(ctx, iter, next, 0, NULL, &done);
if (JS_IsException(item))
goto exception;
if (done) // item is JS_UNDEFINED
break;
rv = js_map_set(ctx, newset, 1, &item, MAGIC_SET);
JS_FreeValue(ctx, item);
if (JS_IsException(rv))
goto exception;
JS_FreeValue(ctx, rv);
}
JS_FreeValue(ctx, next);
JS_FreeValue(ctx, iter);
return newset;
exception:
JS_FreeValue(ctx, next);
JS_FreeValue(ctx, iter);
JS_FreeValue(ctx, newset);
return JS_EXCEPTION;
}
static const JSCFunctionListEntry js_map_funcs[] = {
JS_CFUNC_DEF("groupBy", 2, js_map_groupBy ),
JS_CGETSET_DEF("[Symbol.species]", js_get_this, NULL ),
@ -46198,6 +46299,7 @@ static const JSCFunctionListEntry js_set_proto_funcs[] = {
JS_CFUNC_MAGIC_DEF("clear", 0, js_map_clear, MAGIC_SET ),
JS_CGETSET_MAGIC_DEF("size", js_map_get_size, NULL, MAGIC_SET ),
JS_CFUNC_MAGIC_DEF("forEach", 1, js_map_forEach, MAGIC_SET ),
JS_CFUNC_DEF("union", 1, js_set_union ),
JS_CFUNC_MAGIC_DEF("values", 0, js_create_map_iterator, (JS_ITERATOR_KIND_KEY << 2) | MAGIC_SET ),
JS_ALIAS_DEF("keys", "values" ),
JS_ALIAS_DEF("[Symbol.iterator]", "values" ),

View file

@ -182,7 +182,7 @@ RegExp.escape=skip
resizable-arraybuffer=skip
rest-parameters
Set
set-methods=skip
set-methods
ShadowRealm=skip
SharedArrayBuffer
source-phase-imports-module-source=skip

View file

@ -72,6 +72,256 @@ test262/test/built-ins/RegExp/property-escapes/generated/XID_Start.js:16: Test26
test262/test/built-ins/RegExp/property-escapes/generated/XID_Start.js:16: strict mode: Test262Error: `\p{XID_Start}` should match U+02EBF0 (`𮯰`)
test262/test/built-ins/RegExp/unicode_full_case_folding.js:20: Test262Error: \u0390 does not match \u1fd3
test262/test/built-ins/RegExp/unicode_full_case_folding.js:20: strict mode: Test262Error: \u0390 does not match \u1fd3
test262/test/built-ins/Set/prototype/difference/add-not-called.js:21: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/add-not-called.js:21: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/allows-set-like-class.js:32: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/allows-set-like-class.js:32: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/allows-set-like-object.js:30: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/allows-set-like-object.js:30: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/difference/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/difference/combines-Map.js:16: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/combines-Map.js:16: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/combines-empty-sets.js:13: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/combines-empty-sets.js:13: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/combines-itself.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/combines-itself.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/combines-same-sets.js:13: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/combines-same-sets.js:13: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/combines-sets.js:13: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/combines-sets.js:13: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/converts-negative-zero.js:25: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/converts-negative-zero.js:25: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/difference.js:10: Test262Error: `typeof Set.prototype.difference` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/difference/difference.js:10: strict mode: Test262Error: `typeof Set.prototype.difference` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/difference/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/difference/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/difference/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/difference/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/difference/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/difference/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/difference/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/difference/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/difference/result-order.js:14: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/result-order.js:14: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/set-like-array.js:23: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/set-like-array.js:23: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/set-like-class-mutation.js:44: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/set-like-class-mutation.js:44: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/set-like-class-order.js:67: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/set-like-class-order.js:67: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/difference/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/difference/subclass-receiver-methods.js:34: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/subclass-receiver-methods.js:34: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/subclass-symbol-species.js:20: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/subclass-symbol-species.js:20: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/subclass.js:15: TypeError: not a function
test262/test/built-ins/Set/prototype/difference/subclass.js:15: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/add-not-called.js:21: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/add-not-called.js:21: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/allows-set-like-class.js:32: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/allows-set-like-class.js:32: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/allows-set-like-object.js:30: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/allows-set-like-object.js:30: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/intersection/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/intersection/combines-Map.js:16: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/combines-Map.js:16: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/combines-empty-sets.js:13: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/combines-empty-sets.js:13: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/combines-itself.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/combines-itself.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/combines-same-sets.js:13: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/combines-same-sets.js:13: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/combines-sets.js:13: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/combines-sets.js:13: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/converts-negative-zero.js:25: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/converts-negative-zero.js:25: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/intersection.js:10: Test262Error: `typeof Set.prototype.intersection` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/intersection/intersection.js:10: strict mode: Test262Error: `typeof Set.prototype.intersection` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/intersection/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/intersection/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/intersection/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/intersection/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/intersection/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/intersection/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/intersection/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/intersection/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/intersection/result-order.js:15: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/result-order.js:15: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/set-like-array.js:23: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/set-like-array.js:23: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/set-like-class-mutation.js:44: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/set-like-class-mutation.js:44: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/set-like-class-order.js:67: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/set-like-class-order.js:67: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/intersection/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/intersection/subclass-receiver-methods.js:34: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/subclass-receiver-methods.js:34: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/subclass-symbol-species.js:20: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/subclass-symbol-species.js:20: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/subclass.js:15: TypeError: not a function
test262/test/built-ins/Set/prototype/intersection/subclass.js:15: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/allows-set-like-class.js:30: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/allows-set-like-class.js:30: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/allows-set-like-object.js:28: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/allows-set-like-object.js:28: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/compares-Map.js:15: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/compares-Map.js:15: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/compares-empty-sets.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/compares-empty-sets.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/compares-itself.js:11: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/compares-itself.js:11: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/compares-same-sets.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/compares-same-sets.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/compares-sets.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/compares-sets.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/converts-negative-zero.js:22: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/converts-negative-zero.js:22: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/isDisjointFrom.js:10: Test262Error: `typeof Set.prototype.isDisjointFrom` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/isDisjointFrom.js:10: strict mode: Test262Error: `typeof Set.prototype.isDisjointFrom` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/isDisjointFrom/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/isDisjointFrom/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-array.js:20: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-array.js:20: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-class-mutation.js:34: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-class-mutation.js:34: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-class-order.js:67: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/set-like-class-order.js:67: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/isDisjointFrom/subclass-receiver-methods.js:32: TypeError: not a function
test262/test/built-ins/Set/prototype/isDisjointFrom/subclass-receiver-methods.js:32: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/allows-set-like-class.js:31: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/allows-set-like-class.js:31: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/allows-set-like-object.js:29: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/allows-set-like-object.js:29: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/compares-Map.js:15: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/compares-Map.js:15: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/compares-empty-sets.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/compares-empty-sets.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/compares-itself.js:11: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/compares-itself.js:11: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/compares-same-sets.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/compares-same-sets.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/compares-sets.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/compares-sets.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/isSubsetOf.js:10: Test262Error: `typeof Set.prototype.isSubsetOf` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/isSubsetOf.js:10: strict mode: Test262Error: `typeof Set.prototype.isSubsetOf` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/isSubsetOf/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/isSubsetOf/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/set-like-array.js:21: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/set-like-array.js:21: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/set-like-class-mutation.js:25: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/set-like-class-mutation.js:25: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/set-like-class-order.js:43: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/set-like-class-order.js:43: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/isSubsetOf/subclass-receiver-methods.js:32: TypeError: not a function
test262/test/built-ins/Set/prototype/isSubsetOf/subclass-receiver-methods.js:32: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/allows-set-like-class.js:29: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/allows-set-like-class.js:29: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/allows-set-like-object.js:27: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/allows-set-like-object.js:27: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/compares-Map.js:15: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/compares-Map.js:15: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/compares-empty-sets.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/compares-empty-sets.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/compares-itself.js:11: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/compares-itself.js:11: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/compares-same-sets.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/compares-same-sets.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/compares-sets.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/compares-sets.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/converts-negative-zero.js:22: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/converts-negative-zero.js:22: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/isSupersetOf.js:10: Test262Error: `typeof Set.prototype.isSupersetOf` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/isSupersetOf.js:10: strict mode: Test262Error: `typeof Set.prototype.isSupersetOf` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/isSupersetOf/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/isSupersetOf/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/set-like-array.js:21: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/set-like-array.js:21: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/set-like-class-mutation.js:26: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/set-like-class-mutation.js:26: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/set-like-class-order.js:66: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/set-like-class-order.js:66: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/isSupersetOf/subclass-receiver-methods.js:32: TypeError: not a function
test262/test/built-ins/Set/prototype/isSupersetOf/subclass-receiver-methods.js:32: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/add-not-called.js:21: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/add-not-called.js:21: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/allows-set-like-class.js:31: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/allows-set-like-class.js:31: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/allows-set-like-object.js:29: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/allows-set-like-object.js:29: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/builtins.js:9: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/builtins.js:9: strict mode: Test262Error: Built-in objects must be extensible. Expected SameValue(«false», «true») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/combines-Map.js:16: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/combines-Map.js:16: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/combines-empty-sets.js:13: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/combines-empty-sets.js:13: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/combines-itself.js:12: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/combines-itself.js:12: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/combines-same-sets.js:13: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/combines-same-sets.js:13: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/combines-sets.js:13: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/combines-sets.js:13: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/converts-negative-zero.js:25: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/converts-negative-zero.js:25: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/length.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/length.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/name.js:11: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/name.js:11: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/not-a-constructor.js:17: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/symmetricDifference/not-a-constructor.js:17: strict mode: Test262Error: isConstructor invoked with a non-function value
test262/test/built-ins/Set/prototype/symmetricDifference/require-internal-slot.js:17: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/require-internal-slot.js:17: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/result-order.js:15: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/result-order.js:15: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/set-like-array.js:21: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/set-like-array.js:21: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/set-like-class-mutation.js:44: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/set-like-class-mutation.js:44: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/set-like-class-order.js:66: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/set-like-class-order.js:66: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/size-is-a-number.js:24: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/size-is-a-number.js:24: strict mode: Test262Error: GetSetRecord coerces size Expected SameValue(«0», «1») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/subclass-receiver-methods.js:34: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/subclass-receiver-methods.js:34: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/subclass-symbol-species.js:20: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/subclass-symbol-species.js:20: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/subclass.js:15: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/subclass.js:15: strict mode: TypeError: not a function
test262/test/built-ins/Set/prototype/symmetricDifference/symmetricDifference.js:10: Test262Error: `typeof Set.prototype.symmetricDifference` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/Set/prototype/symmetricDifference/symmetricDifference.js:10: strict mode: Test262Error: `typeof Set.prototype.symmetricDifference` is `'function'` Expected SameValue(«undefined», «function») to be true
test262/test/built-ins/TypedArrayConstructors/internals/Set/BigInt/key-is-canonical-invalid-index-prototype-chain-set.js:35: Test262Error: value should not be coerced Expected SameValue(«22», «0») to be true
test262/test/built-ins/TypedArrayConstructors/internals/Set/BigInt/key-is-canonical-invalid-index-prototype-chain-set.js:35: strict mode: Test262Error: value should not be coerced Expected SameValue(«22», «0») to be true
test262/test/built-ins/TypedArrayConstructors/internals/Set/BigInt/key-is-canonical-invalid-index-reflect-set.js:35: Test262Error: value should not be coerced Expected SameValue(«32», «0») to be true
@ -99,4 +349,16 @@ test262/test/language/expressions/member-expression/computed-reference-null-or-u
test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:21: TypeError: cannot read property 'c' of undefined
test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:16: strict mode: TypeError: cannot read property '_b' of undefined
test262/test/language/module-code/top-level-await/async-module-does-not-block-sibling-modules.js:13: SyntaxError: Could not find export 'check' in module 'test262/test/language/module-code/top-level-await/async-module-sync_FIXTURE.js'
test262/test/staging/set-is-subset-on-set-like.js:24: TypeError: not a function
test262/test/staging/set-is-subset-on-set-like.js:24: strict mode: TypeError: not a function
test262/test/staging/set-is-subset-table-receiver-cleared.js:25: TypeError: not a function
test262/test/staging/set-is-subset-table-receiver-cleared.js:25: strict mode: TypeError: not a function
test262/test/staging/set-is-subset-table-transition.js:28: TypeError: not a function
test262/test/staging/set-is-subset-table-transition.js:28: strict mode: TypeError: not a function
test262/test/staging/set-methods/set-intersect-other-is-set-like.js:29: TypeError: not a function
test262/test/staging/set-methods/set-intersect-other-is-set-like.js:29: strict mode: TypeError: not a function
test262/test/staging/set-methods/set-intersection-other-is-map.js:22: TypeError: not a function
test262/test/staging/set-methods/set-intersection-other-is-map.js:22: strict mode: TypeError: not a function
test262/test/staging/set-methods/set-intersection-other-is-set.js:22: TypeError: not a function
test262/test/staging/set-methods/set-intersection-other-is-set.js:22: strict mode: TypeError: not a function
test262/test/staging/top-level-await/tla-hang-entry.js:10: TypeError: $DONE() not called