mirror of
https://github.com/DoneJS-Runtime/quickjs-done-nextgen.git
synced 2025-01-09 17:43:15 +00:00
Implement Iterator.prototype.drop
Includes the scaffold for other iterator helper methods that require an Iterator Helper object.
This commit is contained in:
parent
243b968ee1
commit
c41ee4f15f
8 changed files with 200 additions and 56 deletions
Binary file not shown.
BIN
gen/hello.c
BIN
gen/hello.c
Binary file not shown.
Binary file not shown.
BIN
gen/repl.c
BIN
gen/repl.c
Binary file not shown.
BIN
gen/test_fib.c
BIN
gen/test_fib.c
Binary file not shown.
|
@ -217,6 +217,7 @@ DEF(Set, "Set") /* Map + 1 */
|
||||||
DEF(WeakMap, "WeakMap") /* Map + 2 */
|
DEF(WeakMap, "WeakMap") /* Map + 2 */
|
||||||
DEF(WeakSet, "WeakSet") /* Map + 3 */
|
DEF(WeakSet, "WeakSet") /* Map + 3 */
|
||||||
DEF(Iterator, "Iterator")
|
DEF(Iterator, "Iterator")
|
||||||
|
DEF(IteratorHelper, "Iterator Helper")
|
||||||
DEF(Map_Iterator, "Map Iterator")
|
DEF(Map_Iterator, "Map Iterator")
|
||||||
DEF(Set_Iterator, "Set Iterator")
|
DEF(Set_Iterator, "Set Iterator")
|
||||||
DEF(Array_Iterator, "Array Iterator")
|
DEF(Array_Iterator, "Array Iterator")
|
||||||
|
|
201
quickjs.c
201
quickjs.c
|
@ -154,6 +154,7 @@ enum {
|
||||||
JS_CLASS_WEAKMAP, /* u.map_state */
|
JS_CLASS_WEAKMAP, /* u.map_state */
|
||||||
JS_CLASS_WEAKSET, /* u.map_state */
|
JS_CLASS_WEAKSET, /* u.map_state */
|
||||||
JS_CLASS_ITERATOR,
|
JS_CLASS_ITERATOR,
|
||||||
|
JS_CLASS_ITERATOR_HELPER, /* u.iterator_helper_data */
|
||||||
JS_CLASS_MAP_ITERATOR, /* u.map_iterator_data */
|
JS_CLASS_MAP_ITERATOR, /* u.map_iterator_data */
|
||||||
JS_CLASS_SET_ITERATOR, /* u.map_iterator_data */
|
JS_CLASS_SET_ITERATOR, /* u.map_iterator_data */
|
||||||
JS_CLASS_ARRAY_ITERATOR, /* u.array_iterator_data */
|
JS_CLASS_ARRAY_ITERATOR, /* u.array_iterator_data */
|
||||||
|
@ -705,6 +706,14 @@ typedef enum JSIteratorKindEnum {
|
||||||
JS_ITERATOR_KIND_KEY_AND_VALUE,
|
JS_ITERATOR_KIND_KEY_AND_VALUE,
|
||||||
} JSIteratorKindEnum;
|
} JSIteratorKindEnum;
|
||||||
|
|
||||||
|
typedef enum JSIteratorHelperKindEnum {
|
||||||
|
JS_ITERATOR_HELPER_KIND_DROP,
|
||||||
|
JS_ITERATOR_HELPER_KIND_FILTER,
|
||||||
|
JS_ITERATOR_HELPER_KIND_FLAT_MAP,
|
||||||
|
JS_ITERATOR_HELPER_KIND_MAP,
|
||||||
|
JS_ITERATOR_HELPER_KIND_TAKE,
|
||||||
|
} JSIteratorHelperKindEnum;
|
||||||
|
|
||||||
typedef struct JSForInIterator {
|
typedef struct JSForInIterator {
|
||||||
JSValue obj;
|
JSValue obj;
|
||||||
BOOL is_array;
|
BOOL is_array;
|
||||||
|
@ -944,6 +953,7 @@ struct JSObject {
|
||||||
struct JSArrayIteratorData *array_iterator_data; /* JS_CLASS_ARRAY_ITERATOR, JS_CLASS_STRING_ITERATOR */
|
struct JSArrayIteratorData *array_iterator_data; /* JS_CLASS_ARRAY_ITERATOR, JS_CLASS_STRING_ITERATOR */
|
||||||
struct JSRegExpStringIteratorData *regexp_string_iterator_data; /* JS_CLASS_REGEXP_STRING_ITERATOR */
|
struct JSRegExpStringIteratorData *regexp_string_iterator_data; /* JS_CLASS_REGEXP_STRING_ITERATOR */
|
||||||
struct JSGeneratorData *generator_data; /* JS_CLASS_GENERATOR */
|
struct JSGeneratorData *generator_data; /* JS_CLASS_GENERATOR */
|
||||||
|
struct JSIteratorHelperData *iterator_helper_data; /* JS_CLASS_ITERATOR_HELPER */
|
||||||
struct JSProxyData *proxy_data; /* JS_CLASS_PROXY */
|
struct JSProxyData *proxy_data; /* JS_CLASS_PROXY */
|
||||||
struct JSPromiseData *promise_data; /* JS_CLASS_PROMISE */
|
struct JSPromiseData *promise_data; /* JS_CLASS_PROMISE */
|
||||||
struct JSPromiseFunctionData *promise_function_data; /* JS_CLASS_PROMISE_RESOLVE_FUNCTION, JS_CLASS_PROMISE_REJECT_FUNCTION */
|
struct JSPromiseFunctionData *promise_function_data; /* JS_CLASS_PROMISE_RESOLVE_FUNCTION, JS_CLASS_PROMISE_REJECT_FUNCTION */
|
||||||
|
@ -1120,6 +1130,9 @@ static void js_map_iterator_mark(JSRuntime *rt, JSValue val,
|
||||||
static void js_array_iterator_finalizer(JSRuntime *rt, JSValue val);
|
static void js_array_iterator_finalizer(JSRuntime *rt, JSValue val);
|
||||||
static void js_array_iterator_mark(JSRuntime *rt, JSValue val,
|
static void js_array_iterator_mark(JSRuntime *rt, JSValue val,
|
||||||
JS_MarkFunc *mark_func);
|
JS_MarkFunc *mark_func);
|
||||||
|
static void js_iterator_helper_finalizer(JSRuntime *rt, JSValue val);
|
||||||
|
static void js_iterator_helper_mark(JSRuntime *rt, JSValue val,
|
||||||
|
JS_MarkFunc *mark_func);
|
||||||
static void js_regexp_string_iterator_finalizer(JSRuntime *rt, JSValue val);
|
static void js_regexp_string_iterator_finalizer(JSRuntime *rt, JSValue val);
|
||||||
static void js_regexp_string_iterator_mark(JSRuntime *rt, JSValue val,
|
static void js_regexp_string_iterator_mark(JSRuntime *rt, JSValue val,
|
||||||
JS_MarkFunc *mark_func);
|
JS_MarkFunc *mark_func);
|
||||||
|
@ -1722,6 +1735,7 @@ static JSClassShortDef const js_std_class_def[] = {
|
||||||
{ JS_ATOM_WeakMap, js_map_finalizer, js_map_mark }, /* JS_CLASS_WEAKMAP */
|
{ JS_ATOM_WeakMap, js_map_finalizer, js_map_mark }, /* JS_CLASS_WEAKMAP */
|
||||||
{ JS_ATOM_WeakSet, js_map_finalizer, js_map_mark }, /* JS_CLASS_WEAKSET */
|
{ JS_ATOM_WeakSet, js_map_finalizer, js_map_mark }, /* JS_CLASS_WEAKSET */
|
||||||
{ JS_ATOM_Iterator, NULL, NULL }, /* JS_CLASS_ITERATOR */
|
{ JS_ATOM_Iterator, NULL, NULL }, /* JS_CLASS_ITERATOR */
|
||||||
|
{ JS_ATOM_IteratorHelper, js_iterator_helper_finalizer, js_iterator_helper_mark }, /* JS_CLASS_ITERATOR_HELPER */
|
||||||
{ JS_ATOM_Map_Iterator, js_map_iterator_finalizer, js_map_iterator_mark }, /* JS_CLASS_MAP_ITERATOR */
|
{ JS_ATOM_Map_Iterator, js_map_iterator_finalizer, js_map_iterator_mark }, /* JS_CLASS_MAP_ITERATOR */
|
||||||
{ JS_ATOM_Set_Iterator, js_map_iterator_finalizer, js_map_iterator_mark }, /* JS_CLASS_SET_ITERATOR */
|
{ JS_ATOM_Set_Iterator, js_map_iterator_finalizer, js_map_iterator_mark }, /* JS_CLASS_SET_ITERATOR */
|
||||||
{ JS_ATOM_Array_Iterator, js_array_iterator_finalizer, js_array_iterator_mark }, /* JS_CLASS_ARRAY_ITERATOR */
|
{ JS_ATOM_Array_Iterator, js_array_iterator_finalizer, js_array_iterator_mark }, /* JS_CLASS_ARRAY_ITERATOR */
|
||||||
|
@ -33531,7 +33545,7 @@ typedef enum BCTagEnum {
|
||||||
BC_TAG_SYMBOL,
|
BC_TAG_SYMBOL,
|
||||||
} BCTagEnum;
|
} BCTagEnum;
|
||||||
|
|
||||||
#define BC_VERSION 17
|
#define BC_VERSION 18
|
||||||
|
|
||||||
typedef struct BCWriterState {
|
typedef struct BCWriterState {
|
||||||
JSContext *ctx;
|
JSContext *ctx;
|
||||||
|
@ -40007,10 +40021,46 @@ static JSValue js_iterator_from(JSContext *ctx, JSValue this_val,
|
||||||
return iter;
|
return iter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static JSValue js_create_iterator_helper(JSContext *ctx, JSValue iterator,
|
||||||
|
JSIteratorHelperKindEnum kind, JSValue func, int64_t limit);
|
||||||
|
|
||||||
static JSValue js_iterator_proto_drop(JSContext *ctx, JSValue this_val,
|
static JSValue js_iterator_proto_drop(JSContext *ctx, JSValue this_val,
|
||||||
int argc, JSValue *argv)
|
int argc, JSValue *argv)
|
||||||
{
|
{
|
||||||
return JS_ThrowInternalError(ctx, "TODO implement Iterator.prototype.drop");
|
JSValue v;
|
||||||
|
double dlimit;
|
||||||
|
int64_t limit;
|
||||||
|
if (!JS_IsObject(this_val))
|
||||||
|
return JS_ThrowTypeError(ctx, "Iterator.prototype.drop called on non-object");
|
||||||
|
v = JS_ToNumber(ctx, argv[0]);
|
||||||
|
if (JS_IsException(v))
|
||||||
|
return JS_EXCEPTION;
|
||||||
|
// Check for Infinity.
|
||||||
|
if (JS_ToFloat64(ctx, &dlimit, v)) {
|
||||||
|
JS_FreeValue(ctx, v);
|
||||||
|
return JS_EXCEPTION;
|
||||||
|
}
|
||||||
|
if (isnan(dlimit)) {
|
||||||
|
JS_FreeValue(ctx, v);
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
if (!isfinite(dlimit)) {
|
||||||
|
JS_FreeValue(ctx, v);
|
||||||
|
if (dlimit < 0)
|
||||||
|
goto fail;
|
||||||
|
else
|
||||||
|
limit = MAX_SAFE_INTEGER;
|
||||||
|
} else {
|
||||||
|
v = JS_ToIntegerFree(ctx, v);
|
||||||
|
if (JS_IsException(v))
|
||||||
|
return JS_EXCEPTION;
|
||||||
|
if (JS_ToInt64Free(ctx, &limit, v))
|
||||||
|
return JS_EXCEPTION;
|
||||||
|
}
|
||||||
|
if (limit < 0)
|
||||||
|
fail:
|
||||||
|
return JS_ThrowRangeError(ctx, "must be positive");
|
||||||
|
return js_create_iterator_helper(ctx, this_val, JS_ITERATOR_HELPER_KIND_DROP, JS_UNDEFINED, limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
static JSValue js_iterator_proto_every(JSContext *ctx, JSValue this_val,
|
static JSValue js_iterator_proto_every(JSContext *ctx, JSValue this_val,
|
||||||
|
@ -40396,6 +40446,142 @@ static JSValue js_iterator_proto_set_toStringTag(JSContext *ctx, JSValue this_va
|
||||||
return JS_UNDEFINED;
|
return JS_UNDEFINED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef struct JSIteratorHelperData {
|
||||||
|
JSIteratorHelperKindEnum kind;
|
||||||
|
JSValue obj;
|
||||||
|
JSValue next;
|
||||||
|
JSValue func; // predicate (filter) or mapper (flatMap, map)
|
||||||
|
int64_t limit; // (drop, take)
|
||||||
|
BOOL executing;
|
||||||
|
BOOL done;
|
||||||
|
} JSIteratorHelperData;
|
||||||
|
|
||||||
|
static void js_iterator_helper_finalizer(JSRuntime *rt, JSValue val)
|
||||||
|
{
|
||||||
|
JSObject *p = JS_VALUE_GET_OBJ(val);
|
||||||
|
JSIteratorHelperData *it = p->u.iterator_helper_data;
|
||||||
|
if (it) {
|
||||||
|
JS_FreeValueRT(rt, it->obj);
|
||||||
|
JS_FreeValueRT(rt, it->func);
|
||||||
|
JS_FreeValueRT(rt, it->next);
|
||||||
|
js_free_rt(rt, it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void js_iterator_helper_mark(JSRuntime *rt, JSValue val,
|
||||||
|
JS_MarkFunc *mark_func)
|
||||||
|
{
|
||||||
|
JSObject *p = JS_VALUE_GET_OBJ(val);
|
||||||
|
JSIteratorHelperData *it = p->u.iterator_helper_data;
|
||||||
|
if (it) {
|
||||||
|
JS_MarkValue(rt, it->obj, mark_func);
|
||||||
|
JS_MarkValue(rt, it->func, mark_func);
|
||||||
|
JS_MarkValue(rt, it->next, mark_func);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static JSValue js_iterator_helper_next(JSContext *ctx, JSValue this_val,
|
||||||
|
int argc, JSValue *argv,
|
||||||
|
BOOL *pdone, int magic)
|
||||||
|
{
|
||||||
|
JSIteratorHelperData *it;
|
||||||
|
JSValue ret;
|
||||||
|
|
||||||
|
it = JS_GetOpaque2(ctx, this_val, JS_CLASS_ITERATOR_HELPER);
|
||||||
|
if (!it)
|
||||||
|
goto fail;
|
||||||
|
if (it->executing)
|
||||||
|
return JS_ThrowTypeError(ctx, "cannot invoke a running iterator");
|
||||||
|
if (magic == GEN_MAGIC_RETURN && it->done)
|
||||||
|
return JS_UNDEFINED;
|
||||||
|
|
||||||
|
it->executing = TRUE;
|
||||||
|
|
||||||
|
switch (it->kind) {
|
||||||
|
case JS_ITERATOR_HELPER_KIND_DROP:
|
||||||
|
{
|
||||||
|
JSValue item, method;
|
||||||
|
if (magic == GEN_MAGIC_NEXT) {
|
||||||
|
method = js_dup(it->next);
|
||||||
|
} else {
|
||||||
|
method = JS_GetProperty(ctx, it->obj, JS_ATOM_return);
|
||||||
|
if (JS_IsException(method))
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
while (it->limit > 0) {
|
||||||
|
it->limit--;
|
||||||
|
item = JS_IteratorNext(ctx, it->obj, method, 0, NULL, pdone);
|
||||||
|
if (JS_IsException(item)) {
|
||||||
|
JS_FreeValue(ctx, method);
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
JS_FreeValue(ctx, item);
|
||||||
|
if (magic == GEN_MAGIC_RETURN)
|
||||||
|
*pdone = TRUE;
|
||||||
|
if (*pdone) {
|
||||||
|
JS_FreeValue(ctx, method);
|
||||||
|
ret = JS_UNDEFINED;
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
item = JS_IteratorNext(ctx, it->obj, method, 0, NULL, pdone);
|
||||||
|
JS_FreeValue(ctx, method);
|
||||||
|
if (JS_IsException(item))
|
||||||
|
goto fail;
|
||||||
|
ret = item;
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
done:
|
||||||
|
it->done = magic == GEN_MAGIC_NEXT ? *pdone : TRUE;
|
||||||
|
it->executing = FALSE;
|
||||||
|
return ret;
|
||||||
|
fail:
|
||||||
|
it->executing = FALSE;
|
||||||
|
if (it && JS_IsObject(it->obj)) {
|
||||||
|
/* close the iterator object, preserving pending exception */
|
||||||
|
JS_IteratorClose(ctx, it->obj, TRUE);
|
||||||
|
}
|
||||||
|
*pdone = FALSE;
|
||||||
|
return JS_EXCEPTION;
|
||||||
|
}
|
||||||
|
|
||||||
|
static JSValue js_create_iterator_helper(JSContext *ctx, JSValue iterator,
|
||||||
|
JSIteratorHelperKindEnum kind, JSValue func, int64_t limit)
|
||||||
|
{
|
||||||
|
JSValue obj, method;
|
||||||
|
JSIteratorHelperData *it;
|
||||||
|
|
||||||
|
method = JS_GetProperty(ctx, iterator, JS_ATOM_next);
|
||||||
|
if (JS_IsException(method))
|
||||||
|
return JS_EXCEPTION;
|
||||||
|
obj = JS_NewObjectClass(ctx, JS_CLASS_ITERATOR_HELPER);
|
||||||
|
if (JS_IsException(obj)) {
|
||||||
|
JS_FreeValue(ctx, method);
|
||||||
|
return JS_EXCEPTION;
|
||||||
|
}
|
||||||
|
it = js_malloc(ctx, sizeof(*it));
|
||||||
|
if (!it) {
|
||||||
|
JS_FreeValue(ctx, obj);
|
||||||
|
JS_FreeValue(ctx, method);
|
||||||
|
return JS_EXCEPTION;
|
||||||
|
}
|
||||||
|
it->kind = kind;
|
||||||
|
it->obj = js_dup(iterator);
|
||||||
|
it->func = js_dup(func);
|
||||||
|
it->next = method;
|
||||||
|
it->limit = limit;
|
||||||
|
it->executing = FALSE;
|
||||||
|
it->done = FALSE;
|
||||||
|
JS_SetOpaqueInternal(obj, it);
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
static const JSCFunctionListEntry js_iterator_funcs[] = {
|
static const JSCFunctionListEntry js_iterator_funcs[] = {
|
||||||
JS_CFUNC_DEF("from", 1, js_iterator_from ),
|
JS_CFUNC_DEF("from", 1, js_iterator_from ),
|
||||||
};
|
};
|
||||||
|
@ -40416,6 +40602,12 @@ static const JSCFunctionListEntry js_iterator_proto_funcs[] = {
|
||||||
JS_CGETSET_DEF("[Symbol.toStringTag]", js_iterator_proto_get_toStringTag, js_iterator_proto_set_toStringTag),
|
JS_CGETSET_DEF("[Symbol.toStringTag]", js_iterator_proto_get_toStringTag, js_iterator_proto_set_toStringTag),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const JSCFunctionListEntry js_iterator_helper_proto_funcs[] = {
|
||||||
|
JS_ITERATOR_NEXT_DEF("next", 0, js_iterator_helper_next, GEN_MAGIC_NEXT ),
|
||||||
|
JS_ITERATOR_NEXT_DEF("return", 0, js_iterator_helper_next, GEN_MAGIC_RETURN ),
|
||||||
|
JS_PROP_STRING_DEF("[Symbol.toStringTag]", "Iterator Helper", JS_PROP_CONFIGURABLE ),
|
||||||
|
};
|
||||||
|
|
||||||
static const JSCFunctionListEntry js_array_proto_funcs[] = {
|
static const JSCFunctionListEntry js_array_proto_funcs[] = {
|
||||||
JS_CFUNC_DEF("at", 1, js_array_at ),
|
JS_CFUNC_DEF("at", 1, js_array_at ),
|
||||||
JS_CFUNC_DEF("with", 2, js_array_with ),
|
JS_CFUNC_DEF("with", 2, js_array_with ),
|
||||||
|
@ -50986,6 +51178,11 @@ void JS_AddIntrinsicBaseObjects(JSContext *ctx)
|
||||||
JS_NewObjectProtoClass(ctx, ctx->class_proto[JS_CLASS_ITERATOR],
|
JS_NewObjectProtoClass(ctx, ctx->class_proto[JS_CLASS_ITERATOR],
|
||||||
JS_CLASS_ITERATOR);
|
JS_CLASS_ITERATOR);
|
||||||
|
|
||||||
|
ctx->class_proto[JS_CLASS_ITERATOR_HELPER] = JS_NewObjectProto(ctx, ctx->iterator_proto);
|
||||||
|
JS_SetPropertyFunctionList(ctx, ctx->class_proto[JS_CLASS_ITERATOR_HELPER],
|
||||||
|
js_iterator_helper_proto_funcs,
|
||||||
|
countof(js_iterator_helper_proto_funcs));
|
||||||
|
|
||||||
/* Array */
|
/* Array */
|
||||||
JS_SetPropertyFunctionList(ctx, ctx->class_proto[JS_CLASS_ARRAY],
|
JS_SetPropertyFunctionList(ctx, ctx->class_proto[JS_CLASS_ARRAY],
|
||||||
js_array_proto_funcs,
|
js_array_proto_funcs,
|
||||||
|
|
|
@ -24,60 +24,6 @@ test262/test/built-ins/Iterator/prototype/constructor/prop-desc.js:10: Test262Er
|
||||||
test262/test/built-ins/Iterator/prototype/constructor/prop-desc.js:10: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
|
test262/test/built-ins/Iterator/prototype/constructor/prop-desc.js:10: strict mode: Test262Error: Expected SameValue(«undefined», «function») to be true
|
||||||
test262/test/built-ins/Iterator/prototype/constructor/weird-setter.js:23: TypeError: cannot read property 'call' of undefined
|
test262/test/built-ins/Iterator/prototype/constructor/weird-setter.js:23: TypeError: cannot read property 'call' of undefined
|
||||||
test262/test/built-ins/Iterator/prototype/constructor/weird-setter.js:23: strict mode: TypeError: cannot read property 'call' of undefined
|
test262/test/built-ins/Iterator/prototype/constructor/weird-setter.js:23: strict mode: TypeError: cannot read property 'call' of undefined
|
||||||
test262/test/built-ins/Iterator/prototype/drop/argument-effect-order.js:16: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/argument-effect-order.js:16: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/callable.js:10: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/callable.js:10: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/exhaustion-does-not-call-return.js:38: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/exhaustion-does-not-call-return.js:38: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/get-next-method-only-once.js:38: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/get-next-method-only-once.js:38: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/get-next-method-throws.js:17: Test262Error: Expected a Test262Error but got a InternalError
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/get-next-method-throws.js:17: strict mode: Test262Error: Expected a Test262Error but got a InternalError
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/get-return-method-throws.js:25: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/get-return-method-throws.js:25: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-equals-total.js:18: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-equals-total.js:18: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-greater-than-total.js:19: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-greater-than-total.js:19: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-less-than-total.js:18: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-less-than-total.js:18: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-rangeerror.js:18: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-rangeerror.js:18: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-tonumber-throws.js:16: Test262Error: Expected a Test262Error but got a InternalError
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-tonumber-throws.js:16: strict mode: Test262Error: Expected a Test262Error but got a InternalError
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-tonumber.js:22: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/limit-tonumber.js:22: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/next-method-returns-non-object.js:23: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/next-method-returns-non-object.js:23: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/next-method-returns-throwing-done.js:31: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/next-method-returns-throwing-done.js:31: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/next-method-returns-throwing-value-done.js:32: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/next-method-returns-throwing-value-done.js:32: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/next-method-returns-throwing-value.js:29: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/next-method-returns-throwing-value.js:29: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/next-method-throws.js:23: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/next-method-throws.js:23: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/result-is-iterator.js:11: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/result-is-iterator.js:11: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/return-is-forwarded.js:31: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/return-is-forwarded.js:31: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/return-is-not-forwarded-after-exhaustion.js:27: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/return-is-not-forwarded-after-exhaustion.js:27: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/this-non-callable-next.js:15: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/this-non-callable-next.js:15: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/this-non-object.js:22: Test262Error: Expected a TypeError but got a InternalError
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/this-non-object.js:22: strict mode: Test262Error: Expected a TypeError but got a InternalError
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/this-plain-iterator.js:25: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/this-plain-iterator.js:25: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/throws-typeerror-when-generator-is-running.js:33: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/throws-typeerror-when-generator-is-running.js:33: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/underlying-iterator-advanced-in-parallel.js:19: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/underlying-iterator-advanced-in-parallel.js:19: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/underlying-iterator-closed-in-parallel.js:19: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/underlying-iterator-closed-in-parallel.js:19: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/underlying-iterator-closed.js:21: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/drop/underlying-iterator-closed.js:21: strict mode: InternalError: TODO implement Iterator.prototype.drop
|
|
||||||
test262/test/built-ins/Iterator/prototype/filter/argument-effect-order.js:16: Test262Error: Expected a TypeError but got a InternalError
|
test262/test/built-ins/Iterator/prototype/filter/argument-effect-order.js:16: Test262Error: Expected a TypeError but got a InternalError
|
||||||
test262/test/built-ins/Iterator/prototype/filter/argument-effect-order.js:16: strict mode: Test262Error: Expected a TypeError but got a InternalError
|
test262/test/built-ins/Iterator/prototype/filter/argument-effect-order.js:16: strict mode: Test262Error: Expected a TypeError but got a InternalError
|
||||||
test262/test/built-ins/Iterator/prototype/filter/callable.js:10: InternalError: TODO implement Iterator.prototype.filter
|
test262/test/built-ins/Iterator/prototype/filter/callable.js:10: InternalError: TODO implement Iterator.prototype.filter
|
||||||
|
|
Loading…
Reference in a new issue