Commit b7b40e2b authored by rossberg@chromium.org's avatar rossberg@chromium.org

Remove Promise.cast

...as per January meeting. Renames 'cast' to 'resolve'. We rename the prior 'resolve' to 'accept', to keep the chain API usable.

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/200763012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 2e555d28
...@@ -261,7 +261,7 @@ function PromiseCoerce(constructor, x) { ...@@ -261,7 +261,7 @@ function PromiseCoerce(constructor, x) {
function PromiseCast(x) { function PromiseCast(x) {
// TODO(rossberg): cannot do better until we support @@create. // TODO(rossberg): cannot do better until we support @@create.
return IsPromise(x) ? x : this.resolve(x); return IsPromise(x) ? x : new this(function(resolve) { resolve(x) });
} }
function PromiseAll(values) { function PromiseAll(values) {
...@@ -277,7 +277,7 @@ function PromiseAll(values) { ...@@ -277,7 +277,7 @@ function PromiseAll(values) {
deferred.resolve(resolutions); deferred.resolve(resolutions);
} else { } else {
for (var i = 0; i < values.length; ++i) { for (var i = 0; i < values.length; ++i) {
this.cast(values[i]).then( this.resolve(values[i]).then(
function(i, x) { function(i, x) {
resolutions[i] = x; resolutions[i] = x;
if (--count === 0) deferred.resolve(resolutions); if (--count === 0) deferred.resolve(resolutions);
...@@ -300,7 +300,7 @@ function PromiseOne(values) { ...@@ -300,7 +300,7 @@ function PromiseOne(values) {
} }
try { try {
for (var i = 0; i < values.length; ++i) { for (var i = 0; i < values.length; ++i) {
this.cast(values[i]).then( this.resolve(values[i]).then(
function(x) { deferred.resolve(x) }, function(x) { deferred.resolve(x) },
function(r) { deferred.reject(r) } function(r) { deferred.reject(r) }
); );
...@@ -319,11 +319,11 @@ function SetUpPromise() { ...@@ -319,11 +319,11 @@ function SetUpPromise() {
global_receiver.Promise = $Promise; global_receiver.Promise = $Promise;
InstallFunctions($Promise, DONT_ENUM, [ InstallFunctions($Promise, DONT_ENUM, [
"defer", PromiseDeferred, "defer", PromiseDeferred,
"resolve", PromiseResolved, "accept", PromiseResolved,
"reject", PromiseRejected, "reject", PromiseRejected,
"all", PromiseAll, "all", PromiseAll,
"race", PromiseOne, "race", PromiseOne,
"cast", PromiseCast "resolve", PromiseCast
]); ]);
InstallFunctions($Promise.prototype, DONT_ENUM, [ InstallFunctions($Promise.prototype, DONT_ENUM, [
"chain", PromiseChain, "chain", PromiseChain,
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --harmony-promises --harmony-observation --allow-natives-syntax // Flags: --harmony-promises --allow-natives-syntax
var asyncAssertsExpected = 0; var asyncAssertsExpected = 0;
...@@ -82,8 +82,8 @@ function assertAsyncDone(iteration) { ...@@ -82,8 +82,8 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
Promise.resolve(5); Promise.accept(5);
Promise.resolve(5).chain(undefined, assertUnreachable).chain( Promise.accept(5).chain(undefined, assertUnreachable).chain(
function(x) { assertAsync(x === 5, "resolved/chain-nohandler") }, function(x) { assertAsync(x === 5, "resolved/chain-nohandler") },
assertUnreachable assertUnreachable
) )
...@@ -99,12 +99,12 @@ function assertAsyncDone(iteration) { ...@@ -99,12 +99,12 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
Promise.resolve(5).then(undefined, assertUnreachable).chain( Promise.accept(5).then(undefined, assertUnreachable).chain(
function(x) { assertAsync(x === 5, "resolved/then-nohandler-undefined") }, function(x) { assertAsync(x === 5, "resolved/then-nohandler-undefined") },
assertUnreachable assertUnreachable
) )
assertAsyncRan() assertAsyncRan()
Promise.resolve(6).then(null, assertUnreachable).chain( Promise.accept(6).then(null, assertUnreachable).chain(
function(x) { assertAsync(x === 6, "resolved/then-nohandler-null") }, function(x) { assertAsync(x === 6, "resolved/then-nohandler-null") },
assertUnreachable assertUnreachable
) )
...@@ -125,9 +125,9 @@ function assertAsyncDone(iteration) { ...@@ -125,9 +125,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain( p3.chain(
function(x) { assertAsync(x === p2, "resolved/chain") }, function(x) { assertAsync(x === p2, "resolved/chain") },
assertUnreachable assertUnreachable
...@@ -136,9 +136,9 @@ function assertAsyncDone(iteration) { ...@@ -136,9 +136,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then( p3.then(
function(x) { assertAsync(x === 5, "resolved/then") }, function(x) { assertAsync(x === 5, "resolved/then") },
assertUnreachable assertUnreachable
...@@ -148,8 +148,8 @@ function assertAsyncDone(iteration) { ...@@ -148,8 +148,8 @@ function assertAsyncDone(iteration) {
(function() { (function() {
var p1 = Promise.reject(5) var p1 = Promise.reject(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain( p3.chain(
function(x) { assertAsync(x === p2, "rejected/chain") }, function(x) { assertAsync(x === p2, "rejected/chain") },
assertUnreachable assertUnreachable
...@@ -159,8 +159,8 @@ function assertAsyncDone(iteration) { ...@@ -159,8 +159,8 @@ function assertAsyncDone(iteration) {
(function() { (function() {
var p1 = Promise.reject(5) var p1 = Promise.reject(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then( p3.then(
assertUnreachable, assertUnreachable,
function(x) { assertAsync(x === 5, "rejected/then") } function(x) { assertAsync(x === 5, "rejected/then") }
...@@ -169,9 +169,9 @@ function assertAsyncDone(iteration) { ...@@ -169,9 +169,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain(function(x) { return x }, assertUnreachable).chain( p3.chain(function(x) { return x }, assertUnreachable).chain(
function(x) { assertAsync(x === p1, "resolved/chain/chain") }, function(x) { assertAsync(x === p1, "resolved/chain/chain") },
assertUnreachable assertUnreachable
...@@ -180,9 +180,9 @@ function assertAsyncDone(iteration) { ...@@ -180,9 +180,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain(function(x) { return x }, assertUnreachable).then( p3.chain(function(x) { return x }, assertUnreachable).then(
function(x) { assertAsync(x === 5, "resolved/chain/then") }, function(x) { assertAsync(x === 5, "resolved/chain/then") },
assertUnreachable assertUnreachable
...@@ -191,9 +191,9 @@ function assertAsyncDone(iteration) { ...@@ -191,9 +191,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain(function(x) { return 6 }, assertUnreachable).chain( p3.chain(function(x) { return 6 }, assertUnreachable).chain(
function(x) { assertAsync(x === 6, "resolved/chain/chain2") }, function(x) { assertAsync(x === 6, "resolved/chain/chain2") },
assertUnreachable assertUnreachable
...@@ -202,9 +202,9 @@ function assertAsyncDone(iteration) { ...@@ -202,9 +202,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain(function(x) { return 6 }, assertUnreachable).then( p3.chain(function(x) { return 6 }, assertUnreachable).then(
function(x) { assertAsync(x === 6, "resolved/chain/then2") }, function(x) { assertAsync(x === 6, "resolved/chain/then2") },
assertUnreachable assertUnreachable
...@@ -213,9 +213,9 @@ function assertAsyncDone(iteration) { ...@@ -213,9 +213,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then(function(x) { return x + 1 }, assertUnreachable).chain( p3.then(function(x) { return x + 1 }, assertUnreachable).chain(
function(x) { assertAsync(x === 6, "resolved/then/chain") }, function(x) { assertAsync(x === 6, "resolved/then/chain") },
assertUnreachable assertUnreachable
...@@ -224,9 +224,9 @@ function assertAsyncDone(iteration) { ...@@ -224,9 +224,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then(function(x) { return x + 1 }, assertUnreachable).then( p3.then(function(x) { return x + 1 }, assertUnreachable).then(
function(x) { assertAsync(x === 6, "resolved/then/then") }, function(x) { assertAsync(x === 6, "resolved/then/then") },
assertUnreachable assertUnreachable
...@@ -235,10 +235,10 @@ function assertAsyncDone(iteration) { ...@@ -235,10 +235,10 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then(function(x){ return Promise.resolve(x+1) }, assertUnreachable).chain( p3.then(function(x){ return Promise.accept(x+1) }, assertUnreachable).chain(
function(x) { assertAsync(x === 6, "resolved/then/chain2") }, function(x) { assertAsync(x === 6, "resolved/then/chain2") },
assertUnreachable assertUnreachable
) )
...@@ -246,10 +246,10 @@ function assertAsyncDone(iteration) { ...@@ -246,10 +246,10 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then(function(x) { return Promise.resolve(x+1) }, assertUnreachable).then( p3.then(function(x) { return Promise.accept(x+1) }, assertUnreachable).then(
function(x) { assertAsync(x === 6, "resolved/then/then2") }, function(x) { assertAsync(x === 6, "resolved/then/then2") },
assertUnreachable assertUnreachable
) )
...@@ -257,9 +257,9 @@ function assertAsyncDone(iteration) { ...@@ -257,9 +257,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain(function(x) { throw 6 }, assertUnreachable).chain( p3.chain(function(x) { throw 6 }, assertUnreachable).chain(
assertUnreachable, assertUnreachable,
function(x) { assertAsync(x === 6, "resolved/chain-throw/chain") } function(x) { assertAsync(x === 6, "resolved/chain-throw/chain") }
...@@ -268,9 +268,9 @@ function assertAsyncDone(iteration) { ...@@ -268,9 +268,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain(function(x) { throw 6 }, assertUnreachable).then( p3.chain(function(x) { throw 6 }, assertUnreachable).then(
assertUnreachable, assertUnreachable,
function(x) { assertAsync(x === 6, "resolved/chain-throw/then") } function(x) { assertAsync(x === 6, "resolved/chain-throw/then") }
...@@ -279,9 +279,9 @@ function assertAsyncDone(iteration) { ...@@ -279,9 +279,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then(function(x) { throw 6 }, assertUnreachable).chain( p3.then(function(x) { throw 6 }, assertUnreachable).chain(
assertUnreachable, assertUnreachable,
function(x) { assertAsync(x === 6, "resolved/then-throw/chain") } function(x) { assertAsync(x === 6, "resolved/then-throw/chain") }
...@@ -290,9 +290,9 @@ function assertAsyncDone(iteration) { ...@@ -290,9 +290,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then(function(x) { throw 6 }, assertUnreachable).then( p3.then(function(x) { throw 6 }, assertUnreachable).then(
assertUnreachable, assertUnreachable,
function(x) { assertAsync(x === 6, "resolved/then-throw/then") } function(x) { assertAsync(x === 6, "resolved/then-throw/then") }
...@@ -301,9 +301,9 @@ function assertAsyncDone(iteration) { ...@@ -301,9 +301,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }} var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain( p3.chain(
function(x) { assertAsync(x === p2, "resolved/thenable/chain") }, function(x) { assertAsync(x === p2, "resolved/thenable/chain") },
assertUnreachable assertUnreachable
...@@ -312,9 +312,9 @@ function assertAsyncDone(iteration) { ...@@ -312,9 +312,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }} var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then( p3.then(
function(x) { assertAsync(x === 5, "resolved/thenable/then") }, function(x) { assertAsync(x === 5, "resolved/thenable/then") },
assertUnreachable assertUnreachable
...@@ -325,7 +325,7 @@ function assertAsyncDone(iteration) { ...@@ -325,7 +325,7 @@ function assertAsyncDone(iteration) {
(function() { (function() {
var p1 = Promise.reject(5) var p1 = Promise.reject(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }} var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain( p3.chain(
function(x) { assertAsync(x === p2, "rejected/thenable/chain") }, function(x) { assertAsync(x === p2, "rejected/thenable/chain") },
assertUnreachable assertUnreachable
...@@ -336,7 +336,7 @@ function assertAsyncDone(iteration) { ...@@ -336,7 +336,7 @@ function assertAsyncDone(iteration) {
(function() { (function() {
var p1 = Promise.reject(5) var p1 = Promise.reject(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }} var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then( p3.then(
assertUnreachable, assertUnreachable,
function(x) { assertAsync(x === 5, "rejected/thenable/then") } function(x) { assertAsync(x === 5, "rejected/thenable/then") }
...@@ -347,8 +347,8 @@ function assertAsyncDone(iteration) { ...@@ -347,8 +347,8 @@ function assertAsyncDone(iteration) {
(function() { (function() {
var deferred = Promise.defer() var deferred = Promise.defer()
var p1 = deferred.promise var p1 = deferred.promise
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain( p3.chain(
function(x) { assertAsync(x === p2, "chain/resolve") }, function(x) { assertAsync(x === p2, "chain/resolve") },
assertUnreachable assertUnreachable
...@@ -360,8 +360,8 @@ function assertAsyncDone(iteration) { ...@@ -360,8 +360,8 @@ function assertAsyncDone(iteration) {
(function() { (function() {
var deferred = Promise.defer() var deferred = Promise.defer()
var p1 = deferred.promise var p1 = deferred.promise
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then( p3.then(
function(x) { assertAsync(x === 5, "then/resolve") }, function(x) { assertAsync(x === 5, "then/resolve") },
assertUnreachable assertUnreachable
...@@ -373,8 +373,8 @@ function assertAsyncDone(iteration) { ...@@ -373,8 +373,8 @@ function assertAsyncDone(iteration) {
(function() { (function() {
var deferred = Promise.defer() var deferred = Promise.defer()
var p1 = deferred.promise var p1 = deferred.promise
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain( p3.chain(
function(x) { assertAsync(x === p2, "chain/reject") }, function(x) { assertAsync(x === p2, "chain/reject") },
assertUnreachable assertUnreachable
...@@ -386,8 +386,8 @@ function assertAsyncDone(iteration) { ...@@ -386,8 +386,8 @@ function assertAsyncDone(iteration) {
(function() { (function() {
var deferred = Promise.defer() var deferred = Promise.defer()
var p1 = deferred.promise var p1 = deferred.promise
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then( p3.then(
assertUnreachable, assertUnreachable,
function(x) { assertAsync(x === 5, "then/reject") } function(x) { assertAsync(x === 5, "then/reject") }
...@@ -400,7 +400,7 @@ function assertAsyncDone(iteration) { ...@@ -400,7 +400,7 @@ function assertAsyncDone(iteration) {
var deferred = Promise.defer() var deferred = Promise.defer()
var p1 = deferred.promise var p1 = deferred.promise
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }} var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain( p3.chain(
function(x) { assertAsync(x === p2, "chain/resolve/thenable") }, function(x) { assertAsync(x === p2, "chain/resolve/thenable") },
assertUnreachable assertUnreachable
...@@ -413,7 +413,7 @@ function assertAsyncDone(iteration) { ...@@ -413,7 +413,7 @@ function assertAsyncDone(iteration) {
var deferred = Promise.defer() var deferred = Promise.defer()
var p1 = deferred.promise var p1 = deferred.promise
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }} var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then( p3.then(
function(x) { assertAsync(x === 5, "then/resolve/thenable") }, function(x) { assertAsync(x === 5, "then/resolve/thenable") },
assertUnreachable assertUnreachable
...@@ -426,7 +426,7 @@ function assertAsyncDone(iteration) { ...@@ -426,7 +426,7 @@ function assertAsyncDone(iteration) {
var deferred = Promise.defer() var deferred = Promise.defer()
var p1 = deferred.promise var p1 = deferred.promise
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }} var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.chain( p3.chain(
function(x) { assertAsync(x === p2, "chain/reject/thenable") }, function(x) { assertAsync(x === p2, "chain/reject/thenable") },
assertUnreachable assertUnreachable
...@@ -439,7 +439,7 @@ function assertAsyncDone(iteration) { ...@@ -439,7 +439,7 @@ function assertAsyncDone(iteration) {
var deferred = Promise.defer() var deferred = Promise.defer()
var p1 = deferred.promise var p1 = deferred.promise
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }} var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var p3 = Promise.resolve(p2) var p3 = Promise.accept(p2)
p3.then( p3.then(
assertUnreachable, assertUnreachable,
function(x) { assertAsync(x === 5, "then/reject/thenable") } function(x) { assertAsync(x === 5, "then/reject/thenable") }
...@@ -449,8 +449,8 @@ function assertAsyncDone(iteration) { ...@@ -449,8 +449,8 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var deferred = Promise.defer() var deferred = Promise.defer()
var p3 = deferred.promise var p3 = deferred.promise
p3.chain( p3.chain(
...@@ -462,8 +462,8 @@ function assertAsyncDone(iteration) { ...@@ -462,8 +462,8 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var deferred = Promise.defer() var deferred = Promise.defer()
var p3 = deferred.promise var p3 = deferred.promise
p3.then( p3.then(
...@@ -475,8 +475,8 @@ function assertAsyncDone(iteration) { ...@@ -475,8 +475,8 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var deferred = Promise.defer() var deferred = Promise.defer()
var p3 = deferred.promise var p3 = deferred.promise
p3.chain( p3.chain(
...@@ -488,8 +488,8 @@ function assertAsyncDone(iteration) { ...@@ -488,8 +488,8 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = Promise.resolve(p1) var p2 = Promise.accept(p1)
var deferred = Promise.defer() var deferred = Promise.defer()
var p3 = deferred.promise var p3 = deferred.promise
p3.then( p3.then(
...@@ -501,7 +501,7 @@ function assertAsyncDone(iteration) { ...@@ -501,7 +501,7 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }} var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var deferred = Promise.defer() var deferred = Promise.defer()
var p3 = deferred.promise var p3 = deferred.promise
...@@ -514,7 +514,7 @@ function assertAsyncDone(iteration) { ...@@ -514,7 +514,7 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(5) var p1 = Promise.accept(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }} var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var deferred = Promise.defer() var deferred = Promise.defer()
var p3 = deferred.promise var p3 = deferred.promise
...@@ -527,7 +527,7 @@ function assertAsyncDone(iteration) { ...@@ -527,7 +527,7 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(0) var p1 = Promise.accept(0)
var p2 = p1.chain(function(x) { return p2 }, assertUnreachable) var p2 = p1.chain(function(x) { return p2 }, assertUnreachable)
p2.chain( p2.chain(
assertUnreachable, assertUnreachable,
...@@ -537,7 +537,7 @@ function assertAsyncDone(iteration) { ...@@ -537,7 +537,7 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(0) var p1 = Promise.accept(0)
var p2 = p1.then(function(x) { return p2 }, assertUnreachable) var p2 = p1.then(function(x) { return p2 }, assertUnreachable)
p2.chain( p2.chain(
assertUnreachable, assertUnreachable,
...@@ -612,7 +612,7 @@ function assertAsyncDone(iteration) { ...@@ -612,7 +612,7 @@ function assertAsyncDone(iteration) {
(function() { (function() {
var deferred = Promise.defer() var deferred = Promise.defer()
var p1 = deferred.promise var p1 = deferred.promise
var p2 = Promise.resolve(2) var p2 = Promise.accept(2)
var p3 = Promise.defer().promise var p3 = Promise.defer().promise
Promise.all([p1, p2, p3]).chain( Promise.all([p1, p2, p3]).chain(
assertUnreachable, assertUnreachable,
...@@ -646,9 +646,9 @@ function assertAsyncDone(iteration) { ...@@ -646,9 +646,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(1) var p1 = Promise.accept(1)
var p2 = Promise.resolve(2) var p2 = Promise.accept(2)
var p3 = Promise.resolve(3) var p3 = Promise.accept(3)
Promise.race([p1, p2, p3]).chain( Promise.race([p1, p2, p3]).chain(
function(x) { assertAsync(x === 1, "resolved/one") }, function(x) { assertAsync(x === 1, "resolved/one") },
assertUnreachable assertUnreachable
...@@ -657,9 +657,9 @@ function assertAsyncDone(iteration) { ...@@ -657,9 +657,9 @@ function assertAsyncDone(iteration) {
})(); })();
(function() { (function() {
var p1 = Promise.resolve(1) var p1 = Promise.accept(1)
var p2 = Promise.resolve(2) var p2 = Promise.accept(2)
var p3 = Promise.resolve(3) var p3 = Promise.accept(3)
Promise.race([0, p1, p2, p3]).chain( Promise.race([0, p1, p2, p3]).chain(
function(x) { assertAsync(x === 0, "resolved-const/one") }, function(x) { assertAsync(x === 0, "resolved-const/one") },
assertUnreachable assertUnreachable
...@@ -694,7 +694,7 @@ function assertAsyncDone(iteration) { ...@@ -694,7 +694,7 @@ function assertAsyncDone(iteration) {
(function() { (function() {
var deferred = Promise.defer() var deferred = Promise.defer()
var p1 = deferred.promise var p1 = deferred.promise
var p2 = Promise.resolve(2) var p2 = Promise.accept(2)
var p3 = Promise.defer().promise var p3 = Promise.defer().promise
Promise.race([p1, p2, p3]).chain( Promise.race([p1, p2, p3]).chain(
function(x) { assertAsync(x === 2, "resolved/one") }, function(x) { assertAsync(x === 2, "resolved/one") },
...@@ -789,11 +789,11 @@ function assertAsyncDone(iteration) { ...@@ -789,11 +789,11 @@ function assertAsyncDone(iteration) {
assertTrue(log === "dncncnx6", "subclass/chain") assertTrue(log === "dncncnx6", "subclass/chain")
log = "" log = ""
Promise.all([11, Promise.resolve(12), 13, MyPromise.resolve(14), 15, 16]) Promise.all([11, Promise.accept(12), 13, MyPromise.accept(14), 15, 16])
assertTrue(log === "nx14cn", "subclass/all/arg") assertTrue(log === "nx14cn", "subclass/all/arg")
log = "" log = ""
MyPromise.all([21, Promise.resolve(22), 23, MyPromise.resolve(24), 25, 26]) MyPromise.all([21, Promise.accept(22), 23, MyPromise.accept(24), 25, 26])
assertTrue(log === "nx24nnx21cnnx23cncnnx25cnnx26cn", "subclass/all/self") assertTrue(log === "nx24nnx21cnnx23cncnnx25cnnx26cn", "subclass/all/self")
})(); })();
......
Test Promise.cast Test Promise.resolve as cast
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
......
...@@ -23,23 +23,23 @@ ...@@ -23,23 +23,23 @@
// Flags: --harmony // Flags: --harmony
'use strict'; 'use strict';
description('Test Promise.cast'); description('Test Promise.resolve as cast');
var result = undefined; var result = undefined;
var result2 = undefined; var result2 = undefined;
var resolve; var resolve;
var value = new Promise(function (r) { resolve = r;} ); var value = new Promise(function (r) { resolve = r;} );
var promise = Promise.cast(value); var promise = Promise.resolve(value);
// If [[IsPromise]] is true, Promise.cast simply returns argument. // If [[IsPromise]] is true, Promise.resolve simply returns argument.
shouldBe('promise', 'value'); shouldBe('promise', 'value');
promise.then(function(res) { promise.then(function(res) {
result = res; result = res;
shouldBeEqualToString('result', 'hello'); shouldBeEqualToString('result', 'hello');
return Promise.cast(42).then(function (res) { return Promise.resolve(42).then(function (res) {
result2 = res; result2 = res;
shouldBe('result2', '42'); shouldBe('result2', '42');
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment