mirror of
https://github.com/tc39/test262.git
synced 2025-07-27 07:54:41 +02:00
built-ins/Promise/*: make all indentation consistent (depth & character) (#1433)
This commit is contained in:
parent
8d54ea55ad
commit
133dfa8793
@ -10,7 +10,9 @@ description: Promise.call(resolved Promise) throws TypeError
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var p = new Promise(function(resolve) { resolve(1); });
|
||||
var p = new Promise(function(resolve) {
|
||||
resolve(1);
|
||||
});
|
||||
|
||||
p.then(function() {
|
||||
Promise.call(p, function() {});
|
||||
|
@ -10,7 +10,9 @@ description: Promise.call(rejected Promise) throws TypeError
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var p = new Promise(function(resolve, reject) { reject(1) });
|
||||
var p = new Promise(function(resolve, reject) {
|
||||
reject(1)
|
||||
});
|
||||
|
||||
p.catch(function() {
|
||||
Promise.call(p, function() {});
|
||||
|
@ -23,4 +23,3 @@ p.then(function() {
|
||||
$ERROR("Expected promise rejection reason to be thrown errorObject, actually " + err);
|
||||
}
|
||||
}).then($DONE, $DONE);
|
||||
|
||||
|
@ -9,8 +9,7 @@ description: this must conform to Promise constructor in Promise.all
|
||||
author: Sam Mikes
|
||||
---*/
|
||||
|
||||
function ZeroArgConstructor() {
|
||||
}
|
||||
function ZeroArgConstructor() {}
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Promise.all.call(ZeroArgConstructor, []);
|
||||
|
@ -14,7 +14,9 @@ flags: [async]
|
||||
|
||||
var sequence = [];
|
||||
|
||||
var p1 = new Promise(function (resolve) { resolve({}); } );
|
||||
var p1 = new Promise(function(resolve) {
|
||||
resolve({});
|
||||
});
|
||||
|
||||
sequence.push(1);
|
||||
|
||||
|
@ -11,8 +11,12 @@ flags: [async]
|
||||
|
||||
var sequence = [];
|
||||
|
||||
var p1 = new Promise(function (resolve) { resolve(1); } );
|
||||
var p2 = new Promise(function (resolve) { resolve(2); } );
|
||||
var p1 = new Promise(function(resolve) {
|
||||
resolve(1);
|
||||
});
|
||||
var p2 = new Promise(function(resolve) {
|
||||
resolve(2);
|
||||
});
|
||||
|
||||
sequence.push(1);
|
||||
|
||||
|
@ -27,7 +27,9 @@ function Constructor(executor) {
|
||||
}
|
||||
executor(resolve, $ERROR);
|
||||
}
|
||||
Constructor.resolve = function(v) { return v; };
|
||||
Constructor.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var p1OnFulfilled;
|
||||
|
||||
|
@ -26,7 +26,9 @@ function Constructor(executor) {
|
||||
}
|
||||
executor(resolve, $ERROR);
|
||||
}
|
||||
Constructor.resolve = function(v) { return v; };
|
||||
Constructor.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var p1 = {
|
||||
then: function(onFulfilled, onRejected) {
|
||||
|
@ -25,7 +25,9 @@ function Constructor(executor) {
|
||||
}
|
||||
executor(resolve, $ERROR);
|
||||
}
|
||||
Constructor.resolve = function(v) { return v; };
|
||||
Constructor.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var p1 = {
|
||||
then: function(onFulfilled, onRejected) {
|
||||
|
@ -50,7 +50,9 @@ var iter = {};
|
||||
iter[Symbol.iterator] = function() {
|
||||
return {
|
||||
next: function() {
|
||||
return { done: true };
|
||||
return {
|
||||
done: true
|
||||
};
|
||||
},
|
||||
return: function() {
|
||||
returnCount += 1;
|
||||
@ -60,7 +62,9 @@ iter[Symbol.iterator] = function() {
|
||||
};
|
||||
var P = function(executor) {
|
||||
return new Promise(function(_, reject) {
|
||||
executor(function() { throw new Test262Error(); }, reject);
|
||||
executor(function() {
|
||||
throw new Test262Error();
|
||||
}, reject);
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -48,7 +48,9 @@ flags: [async]
|
||||
var thrown = new Test262Error();
|
||||
var P = function(executor) {
|
||||
return new Promise(function(_, reject) {
|
||||
executor(function() { throw thrown; }, reject);
|
||||
executor(function() {
|
||||
throw thrown;
|
||||
}, reject);
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -33,4 +33,6 @@ Object.defineProperty(Array.prototype, 0, {
|
||||
}
|
||||
});
|
||||
|
||||
Promise.all([42]).then(function(){ $DONE(); }, $DONE);
|
||||
Promise.all([42]).then(function() {
|
||||
$DONE();
|
||||
}, $DONE);
|
||||
|
@ -30,7 +30,10 @@ var callCount = 0;
|
||||
iterDoneSpy[Symbol.iterator] = function() {
|
||||
return {
|
||||
next: function() {
|
||||
return { value: null, done: false };
|
||||
return {
|
||||
value: null,
|
||||
done: false
|
||||
};
|
||||
},
|
||||
return: function() {
|
||||
callCount += 1;
|
||||
|
@ -30,7 +30,9 @@ var returnCount = 0;
|
||||
iter[Symbol.iterator] = function() {
|
||||
return {
|
||||
next: function() {
|
||||
return { done: false };
|
||||
return {
|
||||
done: false
|
||||
};
|
||||
},
|
||||
return: function() {
|
||||
returnCount += 1;
|
||||
|
@ -31,7 +31,10 @@ var iter = {};
|
||||
iter[Symbol.iterator] = function() {
|
||||
return {
|
||||
next: function() {
|
||||
return { done: false, value: promise };
|
||||
return {
|
||||
done: false,
|
||||
value: promise
|
||||
};
|
||||
},
|
||||
return: function() {
|
||||
returnCount += 1;
|
||||
|
@ -31,7 +31,10 @@ var iter = {};
|
||||
iter[Symbol.iterator] = function() {
|
||||
return {
|
||||
next: function() {
|
||||
return { done: false, value: promise };
|
||||
return {
|
||||
done: false,
|
||||
value: promise
|
||||
};
|
||||
},
|
||||
return: function() {
|
||||
returnCount += 1;
|
||||
|
@ -20,9 +20,12 @@ function resolveFunction() { }
|
||||
function Constructor(executor) {
|
||||
executor(resolveFunction, $ERROR);
|
||||
}
|
||||
Constructor.resolve = function(v) { return v; };
|
||||
Constructor.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var callCount1 = 0, callCount2 = 0;
|
||||
var callCount1 = 0,
|
||||
callCount2 = 0;
|
||||
var p1OnFulfilled;
|
||||
|
||||
var p1 = {
|
||||
|
@ -25,7 +25,9 @@ flags: [async]
|
||||
|
||||
var thenable = {
|
||||
then: function(_, reject) {
|
||||
new Promise(function(resolve) { resolve(); })
|
||||
new Promise(function(resolve) {
|
||||
resolve();
|
||||
})
|
||||
.then(function() {
|
||||
reject();
|
||||
});
|
||||
|
@ -30,7 +30,9 @@ flags: [async]
|
||||
|
||||
var fulfiller = {
|
||||
then: function(resolve) {
|
||||
new Promise(function(resolve) { resolve(); })
|
||||
new Promise(function(resolve) {
|
||||
resolve();
|
||||
})
|
||||
.then(function() {
|
||||
resolve();
|
||||
});
|
||||
@ -38,7 +40,9 @@ var fulfiller = {
|
||||
};
|
||||
var rejector = {
|
||||
then: function(resolve, reject) {
|
||||
new Promise(function(resolve) { resolve(); })
|
||||
new Promise(function(resolve) {
|
||||
resolve();
|
||||
})
|
||||
.then(function() {
|
||||
resolve();
|
||||
reject();
|
||||
|
@ -39,7 +39,9 @@ function Constructor(executor) {
|
||||
}
|
||||
executor(resolve, $ERROR);
|
||||
}
|
||||
Constructor.resolve = function(v) { return v; };
|
||||
Constructor.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var p1OnFulfilled;
|
||||
|
||||
|
@ -39,7 +39,9 @@ function Constructor(executor) {
|
||||
}
|
||||
executor(resolve, $ERROR);
|
||||
}
|
||||
Constructor.resolve = function(v) { return v; };
|
||||
Constructor.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var p1OnFulfilled;
|
||||
|
||||
|
@ -16,10 +16,13 @@ var thenable = {
|
||||
resolveElementFunction = fulfill;
|
||||
}
|
||||
};
|
||||
|
||||
function NotPromise(executor) {
|
||||
executor(function() {}, function() {});
|
||||
}
|
||||
NotPromise.resolve = function(v) { return v; };
|
||||
NotPromise.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
Promise.all.call(NotPromise, [thenable]);
|
||||
|
||||
assert(Object.isExtensible(resolveElementFunction));
|
||||
|
@ -20,10 +20,13 @@ var thenable = {
|
||||
resolveElementFunction = fulfill;
|
||||
}
|
||||
};
|
||||
|
||||
function NotPromise(executor) {
|
||||
executor(function() {}, function() {});
|
||||
}
|
||||
NotPromise.resolve = function(v) { return v; };
|
||||
NotPromise.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
Promise.all.call(NotPromise, [thenable]);
|
||||
|
||||
assert.sameValue(resolveElementFunction.length, 1);
|
||||
|
@ -19,10 +19,13 @@ var thenable = {
|
||||
resolveElementFunction = fulfill;
|
||||
}
|
||||
};
|
||||
|
||||
function NotPromise(executor) {
|
||||
executor(function() {}, function() {});
|
||||
}
|
||||
NotPromise.resolve = function(v) { return v; };
|
||||
NotPromise.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
Promise.all.call(NotPromise, [thenable]);
|
||||
|
||||
assert.sameValue(Object.prototype.hasOwnProperty.call(resolveElementFunction, "name"), false);
|
||||
|
@ -17,11 +17,16 @@ var thenable = {
|
||||
resolveElementFunction = fulfill;
|
||||
}
|
||||
};
|
||||
|
||||
function NotPromise(executor) {
|
||||
executor(function() {}, function() {});
|
||||
}
|
||||
NotPromise.resolve = function(v) { return v; };
|
||||
NotPromise.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
Promise.all.call(NotPromise, [thenable]);
|
||||
|
||||
assert.sameValue(Object.prototype.hasOwnProperty.call(resolveElementFunction, "prototype"), false);
|
||||
assert.throws(TypeError, function() { new resolveElementFunction(); });
|
||||
assert.throws(TypeError, function() {
|
||||
new resolveElementFunction();
|
||||
});
|
||||
|
@ -18,10 +18,13 @@ var thenable = {
|
||||
resolveElementFunction = fulfill;
|
||||
}
|
||||
};
|
||||
|
||||
function NotPromise(executor) {
|
||||
executor(function() {}, function() {});
|
||||
}
|
||||
NotPromise.resolve = function(v) { return v; };
|
||||
NotPromise.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
Promise.all.call(NotPromise, [thenable]);
|
||||
|
||||
assert.sameValue(Object.getPrototypeOf(resolveElementFunction), Function.prototype);
|
||||
|
@ -39,7 +39,9 @@ function Constructor(executor) {
|
||||
}
|
||||
executor(resolve, $ERROR);
|
||||
}
|
||||
Constructor.resolve = function(v) { return v; };
|
||||
Constructor.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var p1OnFulfilled, p2OnFulfilled, p3OnFulfilled;
|
||||
|
||||
|
@ -18,9 +18,12 @@ function rejectFunction() { }
|
||||
function Constructor(executor) {
|
||||
executor($ERROR, rejectFunction);
|
||||
}
|
||||
Constructor.resolve = function(v) { return v; };
|
||||
Constructor.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var callCount1 = 0, callCount2 = 0;
|
||||
var callCount1 = 0,
|
||||
callCount2 = 0;
|
||||
|
||||
var p1 = {
|
||||
then: function(onFulfilled, onRejected) {
|
||||
|
@ -11,6 +11,7 @@ info: |
|
||||
---*/
|
||||
|
||||
var executorFunction;
|
||||
|
||||
function NotPromise(executor) {
|
||||
executorFunction = executor;
|
||||
executor(function() {}, function() {});
|
||||
|
@ -15,6 +15,7 @@ includes: [propertyHelper.js]
|
||||
---*/
|
||||
|
||||
var executorFunction;
|
||||
|
||||
function NotPromise(executor) {
|
||||
executorFunction = executor;
|
||||
executor(function() {}, function() {});
|
||||
|
@ -14,6 +14,7 @@ info: |
|
||||
---*/
|
||||
|
||||
var executorFunction;
|
||||
|
||||
function NotPromise(executor) {
|
||||
executorFunction = executor;
|
||||
executor(function() {}, function() {});
|
||||
|
@ -12,6 +12,7 @@ info: |
|
||||
---*/
|
||||
|
||||
var executorFunction;
|
||||
|
||||
function NotPromise(executor) {
|
||||
executorFunction = executor;
|
||||
executor(function() {}, function() {});
|
||||
@ -19,4 +20,6 @@ function NotPromise(executor) {
|
||||
Promise.resolve.call(NotPromise);
|
||||
|
||||
assert.sameValue(Object.prototype.hasOwnProperty.call(executorFunction, "prototype"), false);
|
||||
assert.throws(TypeError, function() { new executorFunction(); });
|
||||
assert.throws(TypeError, function() {
|
||||
new executorFunction();
|
||||
});
|
||||
|
@ -13,6 +13,7 @@ info: |
|
||||
---*/
|
||||
|
||||
var executorFunction;
|
||||
|
||||
function NotPromise(executor) {
|
||||
executorFunction = executor;
|
||||
executor(function() {}, function() {});
|
||||
|
@ -12,4 +12,3 @@ description: Promise.prototype.constructor is the Promise constructor
|
||||
if (Promise.prototype.constructor !== Promise) {
|
||||
$ERROR("Expected Promise.prototype.constructor to be Promise");
|
||||
}
|
||||
|
||||
|
@ -21,4 +21,3 @@ p.catch(function () {
|
||||
$ERROR("Expected promise to be fulfilled with obj, got " + arg);
|
||||
}
|
||||
}).then($DONE, $DONE);
|
||||
|
||||
|
@ -21,4 +21,3 @@ p.then(function () {
|
||||
$ERROR("Should have been rejected with reason obj, got " + arg);
|
||||
}
|
||||
}).then($DONE, $DONE);
|
||||
|
||||
|
@ -24,21 +24,29 @@ features: [Symbol]
|
||||
---*/
|
||||
|
||||
var booleanCount = 0;
|
||||
Boolean.prototype.then = function() { booleanCount += 1; };
|
||||
Boolean.prototype.then = function() {
|
||||
booleanCount += 1;
|
||||
};
|
||||
Promise.prototype.catch.call(true);
|
||||
assert.sameValue(booleanCount, 1, 'boolean');
|
||||
|
||||
var numberCount = 0;
|
||||
Number.prototype.then = function() { numberCount += 1; };
|
||||
Number.prototype.then = function() {
|
||||
numberCount += 1;
|
||||
};
|
||||
Promise.prototype.catch.call(34);
|
||||
assert.sameValue(numberCount, 1, 'number');
|
||||
|
||||
var stringCount = 0;
|
||||
String.prototype.then = function() { stringCount += 1; };
|
||||
String.prototype.then = function() {
|
||||
stringCount += 1;
|
||||
};
|
||||
Promise.prototype.catch.call('');
|
||||
assert.sameValue(stringCount, 1, 'string');
|
||||
|
||||
var symbolCount = 0;
|
||||
Symbol.prototype.then = function() { symbolCount += 1; };
|
||||
Symbol.prototype.then = function() {
|
||||
symbolCount += 1;
|
||||
};
|
||||
Promise.prototype.catch.call(Symbol());
|
||||
assert.sameValue(symbolCount, 1, 'symbol');
|
||||
|
@ -38,25 +38,37 @@ assert.throws(TypeError, function() {
|
||||
}, 'undefined');
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Promise.prototype.catch.call({ then: null });
|
||||
Promise.prototype.catch.call({
|
||||
then: null
|
||||
});
|
||||
}, 'null');
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Promise.prototype.catch.call({ then: 1 });
|
||||
Promise.prototype.catch.call({
|
||||
then: 1
|
||||
});
|
||||
}, 'number');
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Promise.prototype.catch.call({ then: '' });
|
||||
Promise.prototype.catch.call({
|
||||
then: ''
|
||||
});
|
||||
}, 'string');
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Promise.prototype.catch.call({ then: true });
|
||||
Promise.prototype.catch.call({
|
||||
then: true
|
||||
});
|
||||
}, 'boolean');
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Promise.prototype.catch.call({ then: symbol });
|
||||
Promise.prototype.catch.call({
|
||||
then: symbol
|
||||
});
|
||||
}, 'symbol');
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Promise.prototype.catch.call({ then: {} });
|
||||
Promise.prototype.catch.call({
|
||||
then: {}
|
||||
});
|
||||
}, 'ordinary object');
|
||||
|
@ -37,4 +37,3 @@ yes.then(function (x) {
|
||||
checkSequence(sequence, "All expected callbacks called in correct order");
|
||||
$DONE();
|
||||
}).catch($ERROR);
|
||||
|
||||
|
@ -9,7 +9,9 @@ features: [Promise.prototype.finally]
|
||||
|
||||
|
||||
class MyPromise extends Promise {
|
||||
static get [Symbol.species]() { return Promise; }
|
||||
static get[Symbol.species]() {
|
||||
return Promise;
|
||||
}
|
||||
}
|
||||
|
||||
var p = Promise
|
||||
|
@ -8,7 +8,9 @@ features: [Promise.prototype.finally]
|
||||
---*/
|
||||
|
||||
class FooPromise extends Promise {
|
||||
static get [Symbol.species]() { return Promise; }
|
||||
static get[Symbol.species]() {
|
||||
return Promise;
|
||||
}
|
||||
}
|
||||
|
||||
var p = Promise.reject().finally(() => FooPromise.reject());
|
||||
|
@ -8,7 +8,9 @@ features: [Promise.prototype.finally]
|
||||
---*/
|
||||
|
||||
class FooPromise extends Promise {
|
||||
static get [Symbol.species]() { return Promise; }
|
||||
static get[Symbol.species]() {
|
||||
return Promise;
|
||||
}
|
||||
}
|
||||
|
||||
var p = Promise.resolve().finally(() => FooPromise.resolve());
|
||||
|
@ -11,7 +11,9 @@ features: [Promise.prototype.finally]
|
||||
var called = false;
|
||||
var p = new Proxy(Promise.resolve(), {});
|
||||
var oldThen = Promise.prototype.then;
|
||||
Promise.prototype.then = () => { called = true; };
|
||||
Promise.prototype.then = () => {
|
||||
called = true;
|
||||
};
|
||||
Promise.prototype.finally.call(p);
|
||||
assert.sameValue(called, true);
|
||||
Promise.prototype.then = oldThen;
|
||||
|
@ -11,7 +11,9 @@ features: [Symbol, Promise.prototype.finally]
|
||||
|
||||
var symbol = Symbol();
|
||||
|
||||
var thrower = function () { throw new Test262Error('this should never happen'); };
|
||||
var thrower = function() {
|
||||
throw new Test262Error('this should never happen');
|
||||
};
|
||||
|
||||
var p = new Promise(function() {});
|
||||
|
||||
|
@ -39,5 +39,3 @@ Promise.resolve().then(function () {
|
||||
});
|
||||
|
||||
sequence.push(1);
|
||||
|
||||
|
||||
|
@ -18,5 +18,3 @@ if (!(p.then instanceof Function)) {
|
||||
if (p.then.length !== 2) {
|
||||
$ERROR("Expected p.then to be a function of two arguments");
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,8 +9,7 @@ author: Sam Mikes
|
||||
description: Promise.prototype.then throw if 'this' is non-Promise Object
|
||||
---*/
|
||||
|
||||
function ZeroArgConstructor() {
|
||||
}
|
||||
function ZeroArgConstructor() {}
|
||||
|
||||
var z = new ZeroArgConstructor();
|
||||
|
||||
|
@ -29,7 +29,9 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var callCount = 0;
|
||||
var prms = new Promise(function(resolve) { resolve(); });
|
||||
var prms = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
Object.defineProperty(prms, 'constructor', {
|
||||
get: function() {
|
||||
callCount += 1;
|
||||
|
@ -26,10 +26,14 @@ var BadCtor = function() {
|
||||
};
|
||||
var originalSpecies = Object.getOwnPropertyDescriptor(Promise, Symbol.species);
|
||||
|
||||
Object.defineProperty(Promise, Symbol.species, { value: BadCtor });
|
||||
Object.defineProperty(Promise, Symbol.species, {
|
||||
value: BadCtor
|
||||
});
|
||||
|
||||
try {
|
||||
var p = new Promise(function(resolve) { resolve(); });
|
||||
var p = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
|
||||
assert.throws(Test262Error, function() {
|
||||
p.then();
|
||||
|
@ -20,7 +20,9 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var value = {};
|
||||
var p = new Promise(function(resolve) { resolve(value); });
|
||||
var p = new Promise(function(resolve) {
|
||||
resolve(value);
|
||||
});
|
||||
|
||||
p.then(function(x) {
|
||||
if (x !== value) {
|
||||
|
@ -21,7 +21,9 @@ flags: [async]
|
||||
|
||||
var value = {};
|
||||
var resolve;
|
||||
var p = new Promise(function(_resolve) { resolve = _resolve; });
|
||||
var p = new Promise(function(_resolve) {
|
||||
resolve = _resolve;
|
||||
});
|
||||
|
||||
p.then(function(x) {
|
||||
if (x !== value) {
|
||||
|
@ -21,7 +21,9 @@ flags: [async]
|
||||
|
||||
var value = {};
|
||||
var reject;
|
||||
var p = new Promise(function(_, _reject) { reject = _reject; });
|
||||
var p = new Promise(function(_, _reject) {
|
||||
reject = _reject;
|
||||
});
|
||||
|
||||
p.then(function() {
|
||||
$DONE('The `onFulfilled` handler should not be invoked.');
|
||||
|
@ -20,7 +20,9 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var value = {};
|
||||
var p = new Promise(function(_, reject) { reject(value); });
|
||||
var p = new Promise(function(_, reject) {
|
||||
reject(value);
|
||||
});
|
||||
|
||||
p.then(function() {
|
||||
$DONE('The `onFulfilled` handler should not be invoked.');
|
||||
|
@ -22,8 +22,12 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var resolve;
|
||||
var thenable = new Promise(function(_resolve) { resolve = _resolve; });
|
||||
var p1 = new Promise(function(resolve) { resolve(); });
|
||||
var thenable = new Promise(function(_resolve) {
|
||||
resolve = _resolve;
|
||||
});
|
||||
var p1 = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -23,8 +23,12 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var reject;
|
||||
var thenable = new Promise(function(resolve) { resolve(); });
|
||||
var p1 = new Promise(function(_, _reject) { reject = _reject; });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p1 = new Promise(function(_, _reject) {
|
||||
reject = _reject;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -29,8 +29,12 @@ info: |
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var thenable = new Promise(function(resolve) { resolve(); });
|
||||
var p1 = new Promise(function(resolve) { resolve(); });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p1 = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -29,8 +29,12 @@ info: |
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var thenable = new Promise(function(resolve) { resolve(); });
|
||||
var p1 = new Promise(function(_, reject) { reject(); });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p1 = new Promise(function(_, reject) {
|
||||
reject();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -22,7 +22,9 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var resolve;
|
||||
var p1 = new Promise(function(_resolve) { resolve = _resolve; });
|
||||
var p1 = new Promise(function(_resolve) {
|
||||
resolve = _resolve;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -26,9 +26,13 @@ info: |
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var nonThenable = { then: null };
|
||||
var nonThenable = {
|
||||
then: null
|
||||
};
|
||||
var resolve;
|
||||
var p1 = new Promise(function(_resolve) { resolve = _resolve; });
|
||||
var p1 = new Promise(function(_resolve) {
|
||||
resolve = _resolve;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -30,7 +30,9 @@ var poisonedThen = Object.defineProperty({}, 'then', {
|
||||
throw value;
|
||||
}
|
||||
});
|
||||
var p1 = new Promise(function(_resolve) { resolve = _resolve; });
|
||||
var p1 = new Promise(function(_resolve) {
|
||||
resolve = _resolve;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -30,8 +30,12 @@ flags: [async]
|
||||
|
||||
var value = {};
|
||||
var resolve;
|
||||
var thenable = new Promise(function(resolve) { resolve(); });
|
||||
var p1 = new Promise(function(_resolve) { resolve = _resolve; });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p1 = new Promise(function(_resolve) {
|
||||
resolve = _resolve;
|
||||
});
|
||||
var p2;
|
||||
|
||||
thenable.then = function(resolve) {
|
||||
|
@ -24,7 +24,9 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var resolve;
|
||||
var p1 = new Promise(function(_resolve) { resolve = _resolve; });
|
||||
var p1 = new Promise(function(_resolve) {
|
||||
resolve = _resolve;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -30,8 +30,12 @@ flags: [async]
|
||||
|
||||
var value = {};
|
||||
var resolve;
|
||||
var thenable = new Promise(function(resolve) { resolve(value); });
|
||||
var p1 = new Promise(function(_resolve) { resolve = _resolve; });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve(value);
|
||||
});
|
||||
var p1 = new Promise(function(_resolve) {
|
||||
resolve = _resolve;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -23,7 +23,9 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var reject;
|
||||
var p1 = new Promise(function(_, _reject) { reject = _reject; });
|
||||
var p1 = new Promise(function(_, _reject) {
|
||||
reject = _reject;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -27,9 +27,13 @@ info: |
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var nonThenable = { then: null };
|
||||
var nonThenable = {
|
||||
then: null
|
||||
};
|
||||
var reject;
|
||||
var p1 = new Promise(function(_, _reject) { reject = _reject; });
|
||||
var p1 = new Promise(function(_, _reject) {
|
||||
reject = _reject;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -31,7 +31,9 @@ var poisonedThen = Object.defineProperty({}, 'then', {
|
||||
throw value;
|
||||
}
|
||||
});
|
||||
var p1 = new Promise(function(_, _reject) { reject = _reject; });
|
||||
var p1 = new Promise(function(_, _reject) {
|
||||
reject = _reject;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -31,8 +31,12 @@ flags: [async]
|
||||
|
||||
var value = {};
|
||||
var reject;
|
||||
var thenable = new Promise(function(resolve) { resolve(); });
|
||||
var p1 = new Promise(function(_, _reject) { reject = _reject; });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p1 = new Promise(function(_, _reject) {
|
||||
reject = _reject;
|
||||
});
|
||||
var p2;
|
||||
|
||||
thenable.then = function(resolve) {
|
||||
|
@ -25,7 +25,9 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var reject;
|
||||
var p1 = new Promise(function(_, _reject) { reject = _reject; });
|
||||
var p1 = new Promise(function(_, _reject) {
|
||||
reject = _reject;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -31,8 +31,12 @@ flags: [async]
|
||||
|
||||
var value = {};
|
||||
var reject;
|
||||
var thenable = new Promise(function(resolve) { resolve(value); });
|
||||
var p1 = new Promise(function(_, _reject) { reject = _reject; });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve(value);
|
||||
});
|
||||
var p1 = new Promise(function(_, _reject) {
|
||||
reject = _reject;
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -28,7 +28,9 @@ info: |
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var p1 = new Promise(function(resolve) { resolve(); });
|
||||
var p1 = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -33,8 +33,12 @@ info: |
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var nonThenable = { then: null };
|
||||
var p1 = new Promise(function(resolve) { resolve(); });
|
||||
var nonThenable = {
|
||||
then: null
|
||||
};
|
||||
var p1 = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -36,7 +36,9 @@ var poisonedThen = Object.defineProperty({}, 'then', {
|
||||
throw value;
|
||||
}
|
||||
});
|
||||
var p1 = new Promise(function(resolve) { resolve(); });
|
||||
var p1 = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -36,8 +36,12 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var value = {};
|
||||
var thenable = new Promise(function(resolve) { resolve(); });
|
||||
var p1 = new Promise(function(resolve) { resolve(); });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p1 = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p2;
|
||||
|
||||
thenable.then = function(resolve) {
|
||||
|
@ -30,7 +30,9 @@ info: |
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var p1 = new Promise(function(resolve) { resolve(); });
|
||||
var p1 = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -36,8 +36,12 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var value = {};
|
||||
var thenable = new Promise(function(resolve) { resolve(value); });
|
||||
var p1 = new Promise(function(resolve) { resolve(); });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve(value);
|
||||
});
|
||||
var p1 = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {
|
||||
|
@ -28,7 +28,9 @@ info: |
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var p1 = new Promise(function(_, reject) { reject(); });
|
||||
var p1 = new Promise(function(_, reject) {
|
||||
reject();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -33,8 +33,12 @@ info: |
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var nonThenable = { then: null };
|
||||
var p1 = new Promise(function(_, reject) { reject(); });
|
||||
var nonThenable = {
|
||||
then: null
|
||||
};
|
||||
var p1 = new Promise(function(_, reject) {
|
||||
reject();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -36,7 +36,9 @@ var poisonedThen = Object.defineProperty({}, 'then', {
|
||||
throw value;
|
||||
}
|
||||
});
|
||||
var p1 = new Promise(function(_, reject) { reject(); });
|
||||
var p1 = new Promise(function(_, reject) {
|
||||
reject();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -36,8 +36,12 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var value = {};
|
||||
var thenable = new Promise(function(resolve) { resolve(); });
|
||||
var p1 = new Promise(function(_, reject) { reject(); });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
var p1 = new Promise(function(_, reject) {
|
||||
reject();
|
||||
});
|
||||
var p2;
|
||||
|
||||
thenable.then = function(resolve) {
|
||||
|
@ -30,7 +30,9 @@ info: |
|
||||
flags: [async]
|
||||
---*/
|
||||
|
||||
var p1 = new Promise(function(_, reject) { reject(); });
|
||||
var p1 = new Promise(function(_, reject) {
|
||||
reject();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -36,8 +36,12 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var value = {};
|
||||
var thenable = new Promise(function(resolve) { resolve(value); });
|
||||
var p1 = new Promise(function(_, reject) { reject(); });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve(value);
|
||||
});
|
||||
var p1 = new Promise(function(_, reject) {
|
||||
reject();
|
||||
});
|
||||
var p2;
|
||||
|
||||
p2 = p1.then(function() {}, function() {
|
||||
|
@ -18,4 +18,3 @@ Promise.race(nonIterable).then(function () {
|
||||
$ERROR('Expected TypeError, got ' + err);
|
||||
}
|
||||
}).then($DONE, $DONE);
|
||||
|
||||
|
@ -16,4 +16,3 @@ Promise.race(new Error("abrupt")).then(function () {
|
||||
$ERROR('Expected TypeError, got ' + err);
|
||||
}
|
||||
}).then($DONE, $DONE);
|
||||
|
||||
|
@ -27,4 +27,3 @@ Promise.race(iterThrows).then(function () {
|
||||
$ERROR('Expected Promise to be rejected with an error, got ' + err);
|
||||
}
|
||||
}).then($DONE, $DONE);
|
||||
|
||||
|
@ -11,8 +11,7 @@ author: Sam Mikes
|
||||
description: Promise.race throws if 'this' does not conform to Promise constructor
|
||||
---*/
|
||||
|
||||
function ZeroArgConstructor() {
|
||||
}
|
||||
function ZeroArgConstructor() {}
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Promise.race.call(ZeroArgConstructor, [3]);
|
||||
|
@ -11,7 +11,9 @@ author: Sam Mikes
|
||||
description: Promise.race throws TypeError, even on empty array, when 'this' does not conform to Promise constructor
|
||||
---*/
|
||||
|
||||
function BadPromiseConstructor(f) { f(undefined, undefined); }
|
||||
function BadPromiseConstructor(f) {
|
||||
f(undefined, undefined);
|
||||
}
|
||||
|
||||
assert.throws(TypeError, function() {
|
||||
Promise.race.call(BadPromiseConstructor, []);
|
||||
|
@ -24,4 +24,3 @@ Promise.race(iterThrows).then(function () {
|
||||
}, function(reason) {
|
||||
assert.sameValue(reason, error);
|
||||
}).then($DONE, $DONE);
|
||||
|
||||
|
@ -33,4 +33,3 @@ Promise.race(iterThrows).then(function () {
|
||||
$ERROR('Expected TypeError, got ' + err);
|
||||
}
|
||||
}).then($DONE, $DONE);
|
||||
|
||||
|
@ -9,8 +9,12 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var resolveP1, rejectP2,
|
||||
p1 = new Promise(function (resolve) { resolveP1 = resolve; }),
|
||||
p2 = new Promise(function (resolve, reject) { rejectP2 = reject; });
|
||||
p1 = new Promise(function(resolve) {
|
||||
resolveP1 = resolve;
|
||||
}),
|
||||
p2 = new Promise(function(resolve, reject) {
|
||||
rejectP2 = reject;
|
||||
});
|
||||
|
||||
rejectP2(new Error("Promise.race should not see this if P1 already resolved"));
|
||||
resolveP1(1);
|
||||
|
@ -9,8 +9,12 @@ flags: [async]
|
||||
---*/
|
||||
|
||||
var resolveP1, rejectP2,
|
||||
p1 = new Promise(function (resolve) { resolveP1 = resolve; }),
|
||||
p2 = new Promise(function (resolve, reject) { rejectP2 = reject; });
|
||||
p1 = new Promise(function(resolve) {
|
||||
resolveP1 = resolve;
|
||||
}),
|
||||
p2 = new Promise(function(resolve, reject) {
|
||||
rejectP2 = reject;
|
||||
});
|
||||
|
||||
Promise.race([p1, p2]).then(function() {
|
||||
$ERROR("Should not be fulfilled: expected rejection.");
|
||||
@ -22,4 +26,3 @@ Promise.race([p1, p2]).then(function () {
|
||||
|
||||
rejectP2(2);
|
||||
resolveP1(1);
|
||||
|
||||
|
@ -29,7 +29,10 @@ var returnCount = 0;
|
||||
iterDoneSpy[Symbol.iterator] = function() {
|
||||
return {
|
||||
next: function() {
|
||||
return { value: null, done: false };
|
||||
return {
|
||||
value: null,
|
||||
done: false
|
||||
};
|
||||
},
|
||||
return: function() {
|
||||
returnCount += 1;
|
||||
|
@ -29,7 +29,9 @@ var returnCount = 0;
|
||||
iter[Symbol.iterator] = function() {
|
||||
return {
|
||||
next: function() {
|
||||
return { done: false };
|
||||
return {
|
||||
done: false
|
||||
};
|
||||
},
|
||||
return: function() {
|
||||
returnCount += 1;
|
||||
|
@ -31,7 +31,10 @@ var returnCount = 0;
|
||||
iter[Symbol.iterator] = function() {
|
||||
return {
|
||||
next: function() {
|
||||
return { done: false, value: promise };
|
||||
return {
|
||||
done: false,
|
||||
value: promise
|
||||
};
|
||||
},
|
||||
return: function() {
|
||||
returnCount += 1;
|
||||
|
@ -30,7 +30,10 @@ var returnCount = 0;
|
||||
iter[Symbol.iterator] = function() {
|
||||
return {
|
||||
next: function() {
|
||||
return { done: false, value: promise };
|
||||
return {
|
||||
done: false,
|
||||
value: promise
|
||||
};
|
||||
},
|
||||
return: function() {
|
||||
returnCount += 1;
|
||||
|
@ -24,7 +24,9 @@ flags: [async]
|
||||
|
||||
var thenable = {
|
||||
then: function(_, reject) {
|
||||
new Promise(function(resolve) { resolve(); })
|
||||
new Promise(function(resolve) {
|
||||
resolve();
|
||||
})
|
||||
.then(function() {
|
||||
reject();
|
||||
});
|
||||
|
@ -29,7 +29,9 @@ flags: [async]
|
||||
|
||||
var fulfiller = {
|
||||
then: function(resolve) {
|
||||
new Promise(function(resolve) { resolve(); })
|
||||
new Promise(function(resolve) {
|
||||
resolve();
|
||||
})
|
||||
.then(function() {
|
||||
resolve();
|
||||
});
|
||||
@ -37,7 +39,9 @@ var fulfiller = {
|
||||
};
|
||||
var rejector = {
|
||||
then: function(_, reject) {
|
||||
new Promise(function(resolve) { resolve(); })
|
||||
new Promise(function(resolve) {
|
||||
resolve();
|
||||
})
|
||||
.then(function() {
|
||||
reject();
|
||||
});
|
||||
|
@ -35,7 +35,9 @@ var thenableValue = {
|
||||
resolve(value);
|
||||
}
|
||||
};
|
||||
var thenable = new Promise(function(resolve) { resolve(); });
|
||||
var thenable = new Promise(function(resolve) {
|
||||
resolve();
|
||||
});
|
||||
|
||||
thenable.then = function(resolve) {
|
||||
resolve(thenableValue);
|
||||
|
@ -33,7 +33,9 @@ var thenable = {
|
||||
};
|
||||
|
||||
try {
|
||||
Promise.resolve = function(v) { return v; };
|
||||
Promise.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
self = Promise.race([thenable]);
|
||||
} finally {
|
||||
Promise.resolve = builtinResolve;
|
||||
|
@ -18,9 +18,12 @@ function rejectFunction() { }
|
||||
function Constructor(executor) {
|
||||
executor($ERROR, rejectFunction);
|
||||
}
|
||||
Constructor.resolve = function(v) { return v; };
|
||||
Constructor.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var callCount1 = 0, callCount2 = 0;
|
||||
var callCount1 = 0,
|
||||
callCount2 = 0;
|
||||
|
||||
var p1 = {
|
||||
then: function(onFulfilled, onRejected) {
|
||||
|
@ -18,9 +18,12 @@ function resolveFunction() { }
|
||||
function Constructor(executor) {
|
||||
executor(resolveFunction, $ERROR);
|
||||
}
|
||||
Constructor.resolve = function(v) { return v; };
|
||||
Constructor.resolve = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var callCount1 = 0, callCount2 = 0;
|
||||
var callCount1 = 0,
|
||||
callCount2 = 0;
|
||||
|
||||
var p1 = {
|
||||
then: function(onFulfilled, onRejected) {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user