mirror of
https://github.com/tc39/test262.git
synced 2025-07-27 07:54:41 +02:00
Merge pull request #1481 from bocoup/anba-fixes
TypedArray and Async Iteration bug fixes
This commit is contained in:
commit
3854fc38dd
@ -12,7 +12,6 @@ info: |
|
|||||||
...
|
...
|
||||||
18. Return promiseCapability.[[Promise]].
|
18. Return promiseCapability.[[Promise]].
|
||||||
|
|
||||||
flags: [async]
|
|
||||||
features: [async-iteration]
|
features: [async-iteration]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -60,4 +60,5 @@ iter.next().then(function (result) {
|
|||||||
}).then($DONE, $DONE);
|
}).then($DONE, $DONE);
|
||||||
}
|
}
|
||||||
).catch($DONE);
|
).catch($DONE);
|
||||||
}).then($DONE, $DONE);
|
|
||||||
|
}).catch($DONE);
|
||||||
|
@ -30,15 +30,15 @@ var obj = {
|
|||||||
[Symbol.iterator]() {
|
[Symbol.iterator]() {
|
||||||
return {
|
return {
|
||||||
next() {
|
next() {
|
||||||
return { value: 1, done: false };
|
return { value: 1, done: false };
|
||||||
},
|
},
|
||||||
throw() {
|
throw() {
|
||||||
return {
|
return {
|
||||||
get done() {
|
get done() {
|
||||||
throw thrownError;
|
throw thrownError;
|
||||||
},
|
},
|
||||||
value: 1
|
value: 1
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -60,8 +60,8 @@ iter.next().then(function(result) {
|
|||||||
assert.sameValue(err, thrownError, "Promise should be rejected with thrown error");
|
assert.sameValue(err, thrownError, "Promise should be rejected with thrown error");
|
||||||
|
|
||||||
iter.next().then(({ done, value }) => {
|
iter.next().then(({ done, value }) => {
|
||||||
assert.sameValue(done, true, 'the iterator is completed');
|
assert.sameValue(done, true, 'the iterator is completed');
|
||||||
assert.sameValue(value, undefined, 'value is undefined');
|
assert.sameValue(value, undefined, 'value is undefined');
|
||||||
}).then($DONE, $DONE);
|
}).then($DONE, $DONE);
|
||||||
}
|
}
|
||||||
).catch($DONE);
|
).catch($DONE);
|
||||||
|
@ -30,15 +30,15 @@ var obj = {
|
|||||||
[Symbol.iterator]() {
|
[Symbol.iterator]() {
|
||||||
return {
|
return {
|
||||||
next() {
|
next() {
|
||||||
return { value: 1, done: false };
|
return { value: 1, done: false };
|
||||||
},
|
},
|
||||||
throw() {
|
throw() {
|
||||||
return {
|
return {
|
||||||
get value() {
|
get value() {
|
||||||
throw thrownError;
|
throw thrownError;
|
||||||
},
|
},
|
||||||
done: false
|
done: false
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -60,8 +60,8 @@ iter.next().then(function(result) {
|
|||||||
assert.sameValue(err, thrownError, "Promise should be rejected with thrown error");
|
assert.sameValue(err, thrownError, "Promise should be rejected with thrown error");
|
||||||
|
|
||||||
iter.next().then(({ done, value }) => {
|
iter.next().then(({ done, value }) => {
|
||||||
assert.sameValue(done, true, 'the iterator is completed');
|
assert.sameValue(done, true, 'the iterator is completed');
|
||||||
assert.sameValue(value, undefined, 'value is undefined');
|
assert.sameValue(value, undefined, 'value is undefined');
|
||||||
}).then($DONE, $DONE);
|
}).then($DONE, $DONE);
|
||||||
}
|
}
|
||||||
).catch($DONE);
|
).catch($DONE);
|
||||||
|
@ -33,13 +33,13 @@ var obj = {
|
|||||||
[Symbol.iterator]() {
|
[Symbol.iterator]() {
|
||||||
return {
|
return {
|
||||||
next() {
|
next() {
|
||||||
return { value: 1, done: false };
|
return { value: 1, done: false };
|
||||||
},
|
},
|
||||||
throw() {
|
throw() {
|
||||||
return {
|
return {
|
||||||
value: Promise.resolve(42),
|
value: Promise.resolve(42),
|
||||||
done: true
|
done: true
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -57,9 +57,9 @@ iter.next().then(function (result) {
|
|||||||
assert.sameValue(result.value, 42, "Result.value should be unwrapped, got: " + result.value);
|
assert.sameValue(result.value, 42, "Result.value should be unwrapped, got: " + result.value);
|
||||||
|
|
||||||
iter.next().then(({ done, value }) => {
|
iter.next().then(({ done, value }) => {
|
||||||
assert.sameValue(done, true, 'the iterator is completed');
|
assert.sameValue(done, true, 'the iterator is completed');
|
||||||
assert.sameValue(value, undefined, 'value is undefined');
|
assert.sameValue(value, undefined, 'value is undefined');
|
||||||
}).then($DONE, $DONE);
|
}).then($DONE, $DONE);
|
||||||
}
|
}
|
||||||
).catch($DONE);
|
).catch($DONE);
|
||||||
}).then($DONE, $DONE);
|
}).catch($DONE);
|
||||||
|
@ -50,8 +50,8 @@ iter.next().then(function(result) {
|
|||||||
assert.sameValue(err, thrownError, "promise should be reject with custom error, got: " + err)
|
assert.sameValue(err, thrownError, "promise should be reject with custom error, got: " + err)
|
||||||
|
|
||||||
iter.next().then(({ done, value }) => {
|
iter.next().then(({ done, value }) => {
|
||||||
assert.sameValue(done, true, 'the iterator is completed');
|
assert.sameValue(done, true, 'the iterator is completed');
|
||||||
assert.sameValue(value, undefined, 'value is undefined');
|
assert.sameValue(value, undefined, 'value is undefined');
|
||||||
}).then($DONE, $DONE);
|
}).then($DONE, $DONE);
|
||||||
}
|
}
|
||||||
).catch($DONE);
|
).catch($DONE);
|
||||||
|
@ -24,12 +24,12 @@ var obj = {
|
|||||||
[Symbol.iterator]() {
|
[Symbol.iterator]() {
|
||||||
return {
|
return {
|
||||||
next() {
|
next() {
|
||||||
return { value: 1, done: false };
|
return { value: 1, done: false };
|
||||||
},
|
},
|
||||||
get throw() {
|
get throw() {
|
||||||
throw thrownError;
|
throw thrownError;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -49,11 +49,10 @@ iter.next().then(function(result) {
|
|||||||
assert.sameValue(err, thrownError, "Promise should be rejected with thrown error");
|
assert.sameValue(err, thrownError, "Promise should be rejected with thrown error");
|
||||||
|
|
||||||
iter.next().then(({ done, value }) => {
|
iter.next().then(({ done, value }) => {
|
||||||
assert.sameValue(done, true, 'the iterator is completed');
|
assert.sameValue(done, true, 'the iterator is completed');
|
||||||
assert.sameValue(value, undefined, 'value is undefined');
|
assert.sameValue(value, undefined, 'value is undefined');
|
||||||
}).then($DONE, $DONE);
|
}).then($DONE, $DONE);
|
||||||
}
|
}
|
||||||
).catch($DONE);
|
).catch($DONE);
|
||||||
|
|
||||||
}).catch($DONE);
|
}).catch($DONE);
|
||||||
|
|
||||||
|
@ -27,10 +27,10 @@ var obj = {
|
|||||||
[Symbol.iterator]() {
|
[Symbol.iterator]() {
|
||||||
return {
|
return {
|
||||||
next() {
|
next() {
|
||||||
return { value: 1, done: false };
|
return { value: 1, done: false };
|
||||||
},
|
},
|
||||||
throw() {
|
throw() {
|
||||||
throw thrownError;
|
throw thrownError;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -52,10 +52,9 @@ iter.next().then(function(result) {
|
|||||||
assert.sameValue(err, thrownError, "Promise should be rejected with thrown error");
|
assert.sameValue(err, thrownError, "Promise should be rejected with thrown error");
|
||||||
|
|
||||||
iter.next().then(({ done, value }) => {
|
iter.next().then(({ done, value }) => {
|
||||||
assert.sameValue(done, true, 'the iterator is completed');
|
assert.sameValue(done, true, 'the iterator is completed');
|
||||||
assert.sameValue(value, undefined, 'value is undefined');
|
assert.sameValue(value, undefined, 'value is undefined');
|
||||||
}).then($DONE, $DONE);
|
}).then($DONE, $DONE);
|
||||||
}
|
}
|
||||||
).catch($DONE);
|
).catch($DONE);
|
||||||
|
|
||||||
}).catch($DONE);
|
}).catch($DONE);
|
||||||
|
@ -28,10 +28,10 @@ var obj = {
|
|||||||
[Symbol.iterator]() {
|
[Symbol.iterator]() {
|
||||||
return {
|
return {
|
||||||
next() {
|
next() {
|
||||||
return { value: 1, done: false };
|
return { value: 1, done: false };
|
||||||
},
|
},
|
||||||
throw() {
|
throw() {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -54,8 +54,8 @@ iter.next().then(function(result) {
|
|||||||
assert(typeerror, "Expect TypeError, got: " + err);
|
assert(typeerror, "Expect TypeError, got: " + err);
|
||||||
|
|
||||||
iter.next().then(({ done, value }) => {
|
iter.next().then(({ done, value }) => {
|
||||||
assert.sameValue(done, true, 'the iterator is completed');
|
assert.sameValue(done, true, 'the iterator is completed');
|
||||||
assert.sameValue(value, undefined, 'value is undefined');
|
assert.sameValue(value, undefined, 'value is undefined');
|
||||||
}).then($DONE, $DONE);
|
}).then($DONE, $DONE);
|
||||||
}
|
}
|
||||||
).catch($DONE);
|
).catch($DONE);
|
||||||
|
@ -23,7 +23,7 @@ var obj = {
|
|||||||
[Symbol.iterator]() {
|
[Symbol.iterator]() {
|
||||||
return {
|
return {
|
||||||
next() {
|
next() {
|
||||||
return { value: 1, done: false };
|
return { value: 1, done: false };
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -36,7 +36,6 @@ async function* asyncg() {
|
|||||||
var iter = asyncg();
|
var iter = asyncg();
|
||||||
|
|
||||||
iter.next().then(function(result) {
|
iter.next().then(function(result) {
|
||||||
|
|
||||||
iter.throw().then(
|
iter.throw().then(
|
||||||
function (result) {
|
function (result) {
|
||||||
throw new Test262Error("Promise should be rejected, got: " + result.value);
|
throw new Test262Error("Promise should be rejected, got: " + result.value);
|
||||||
@ -45,11 +44,10 @@ iter.next().then(function(result) {
|
|||||||
assert.sameValue(err, undefined, "Promise should be rejected with undefined");
|
assert.sameValue(err, undefined, "Promise should be rejected with undefined");
|
||||||
|
|
||||||
iter.next().then(({ done, value }) => {
|
iter.next().then(({ done, value }) => {
|
||||||
assert.sameValue(done, true, 'the iterator is completed');
|
assert.sameValue(done, true, 'the iterator is completed');
|
||||||
assert.sameValue(value, undefined, 'value is undefined');
|
assert.sameValue(value, undefined, 'value is undefined');
|
||||||
}).then($DONE, $DONE);
|
}).then($DONE, $DONE);
|
||||||
}
|
}
|
||||||
).catch($DONE);
|
).catch($DONE);
|
||||||
|
|
||||||
}).catch($DONE);
|
}).catch($DONE);
|
||||||
|
|
||||||
|
@ -29,4 +29,4 @@ testWithTypedArrayConstructors(function(TA) {
|
|||||||
assert.throws(RangeError, function() {
|
assert.throws(RangeError, function() {
|
||||||
new TA(buffer, 0, undefined);
|
new TA(buffer, 0, undefined);
|
||||||
});
|
});
|
||||||
});
|
}, [ Float64Array, Float32Array, Int32Array, Int16Array, Uint32Array, Uint16Array ]);
|
||||||
|
@ -24,4 +24,4 @@ testWithTypedArrayConstructors(function(TA) {
|
|||||||
assert.throws(RangeError, function() {
|
assert.throws(RangeError, function() {
|
||||||
new TA(buffer, 7);
|
new TA(buffer, 7);
|
||||||
});
|
});
|
||||||
});
|
}, [ Float64Array, Float32Array, Int32Array, Int16Array, Uint32Array, Uint16Array ]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user