Skip to content
Snippets Groups Projects
Unverified Commit 3854fc38 authored by Leo Balter's avatar Leo Balter Committed by GitHub
Browse files

Merge pull request #1481 from bocoup/anba-fixes

TypedArray and Async Iteration bug fixes
parents cc6f2e35 dd147e50
No related branches found
No related tags found
No related merge requests found
Showing
with 48 additions and 52 deletions
...@@ -12,7 +12,6 @@ info: | ...@@ -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) { ...@@ -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 = { ...@@ -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) { ...@@ -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 = { ...@@ -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) { ...@@ -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 = { ...@@ -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) { ...@@ -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) { ...@@ -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 = { ...@@ -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) { ...@@ -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 = { ...@@ -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) { ...@@ -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 = { ...@@ -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) { ...@@ -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 = { ...@@ -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() { ...@@ -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) { ...@@ -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) { ...@@ -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) { ...@@ -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 ]);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment