Revision: 20040
Author: [email protected]
Date: Tue Mar 18 15:03:35 2014 UTC
Log: Remove Promise.cast
...as per January meeting. Renames 'cast' to 'resolve'. We rename the
prior 'resolve' to 'accept', to keep the chain API usable.
[email protected]
BUG=
Review URL: https://codereview.chromium.org/200763012
http://code.google.com/p/v8/source/detail?r=20040
Modified:
/branches/bleeding_edge/src/promise.js
/branches/bleeding_edge/test/mjsunit/es6/promises.js
/branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast-expected.txt
/branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast.js
=======================================
--- /branches/bleeding_edge/src/promise.js Tue Mar 18 14:55:43 2014 UTC
+++ /branches/bleeding_edge/src/promise.js Tue Mar 18 15:03:35 2014 UTC
@@ -261,7 +261,7 @@
function PromiseCast(x) {
// 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) {
@@ -277,7 +277,7 @@
deferred.resolve(resolutions);
} else {
for (var i = 0; i < values.length; ++i) {
- this.cast(values[i]).then(
+ this.resolve(values[i]).then(
function(i, x) {
resolutions[i] = x;
if (--count === 0) deferred.resolve(resolutions);
@@ -300,7 +300,7 @@
}
try {
for (var i = 0; i < values.length; ++i) {
- this.cast(values[i]).then(
+ this.resolve(values[i]).then(
function(x) { deferred.resolve(x) },
function(r) { deferred.reject(r) }
);
@@ -319,11 +319,11 @@
global_receiver.Promise = $Promise;
InstallFunctions($Promise, DONT_ENUM, [
"defer", PromiseDeferred,
- "resolve", PromiseResolved,
+ "accept", PromiseResolved,
"reject", PromiseRejected,
"all", PromiseAll,
"race", PromiseOne,
- "cast", PromiseCast
+ "resolve", PromiseCast
]);
InstallFunctions($Promise.prototype, DONT_ENUM, [
"chain", PromiseChain,
=======================================
--- /branches/bleeding_edge/test/mjsunit/es6/promises.js Tue Mar 18
14:55:43 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/es6/promises.js Tue Mar 18
15:03:35 2014 UTC
@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// 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;
@@ -82,8 +82,8 @@
})();
(function() {
- Promise.resolve(5);
- Promise.resolve(5).chain(undefined, assertUnreachable).chain(
+ Promise.accept(5);
+ Promise.accept(5).chain(undefined, assertUnreachable).chain(
function(x) { assertAsync(x === 5, "resolved/chain-nohandler") },
assertUnreachable
)
@@ -99,12 +99,12 @@
})();
(function() {
- Promise.resolve(5).then(undefined, assertUnreachable).chain(
+ Promise.accept(5).then(undefined, assertUnreachable).chain(
function(x) { assertAsync(x ===
5, "resolved/then-nohandler-undefined") },
assertUnreachable
)
assertAsyncRan()
- Promise.resolve(6).then(null, assertUnreachable).chain(
+ Promise.accept(6).then(null, assertUnreachable).chain(
function(x) { assertAsync(x === 6, "resolved/then-nohandler-null") },
assertUnreachable
)
@@ -125,9 +125,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.chain(
function(x) { assertAsync(x === p2, "resolved/chain") },
assertUnreachable
@@ -136,9 +136,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.then(
function(x) { assertAsync(x === 5, "resolved/then") },
assertUnreachable
@@ -148,8 +148,8 @@
(function() {
var p1 = Promise.reject(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.chain(
function(x) { assertAsync(x === p2, "rejected/chain") },
assertUnreachable
@@ -159,8 +159,8 @@
(function() {
var p1 = Promise.reject(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.then(
assertUnreachable,
function(x) { assertAsync(x === 5, "rejected/then") }
@@ -169,9 +169,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.chain(function(x) { return x }, assertUnreachable).chain(
function(x) { assertAsync(x === p1, "resolved/chain/chain") },
assertUnreachable
@@ -180,9 +180,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.chain(function(x) { return x }, assertUnreachable).then(
function(x) { assertAsync(x === 5, "resolved/chain/then") },
assertUnreachable
@@ -191,9 +191,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.chain(function(x) { return 6 }, assertUnreachable).chain(
function(x) { assertAsync(x === 6, "resolved/chain/chain2") },
assertUnreachable
@@ -202,9 +202,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.chain(function(x) { return 6 }, assertUnreachable).then(
function(x) { assertAsync(x === 6, "resolved/chain/then2") },
assertUnreachable
@@ -213,9 +213,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.then(function(x) { return x + 1 }, assertUnreachable).chain(
function(x) { assertAsync(x === 6, "resolved/then/chain") },
assertUnreachable
@@ -224,9 +224,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.then(function(x) { return x + 1 }, assertUnreachable).then(
function(x) { assertAsync(x === 6, "resolved/then/then") },
assertUnreachable
@@ -235,10 +235,10 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
- p3.then(function(x){ return Promise.resolve(x+1) },
assertUnreachable).chain(
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
+ p3.then(function(x){ return Promise.accept(x+1) },
assertUnreachable).chain(
function(x) { assertAsync(x === 6, "resolved/then/chain2") },
assertUnreachable
)
@@ -246,10 +246,10 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
- p3.then(function(x) { return Promise.resolve(x+1) },
assertUnreachable).then(
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
+ p3.then(function(x) { return Promise.accept(x+1) },
assertUnreachable).then(
function(x) { assertAsync(x === 6, "resolved/then/then2") },
assertUnreachable
)
@@ -257,9 +257,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.chain(function(x) { throw 6 }, assertUnreachable).chain(
assertUnreachable,
function(x) { assertAsync(x === 6, "resolved/chain-throw/chain") }
@@ -268,9 +268,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.chain(function(x) { throw 6 }, assertUnreachable).then(
assertUnreachable,
function(x) { assertAsync(x === 6, "resolved/chain-throw/then") }
@@ -279,9 +279,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.then(function(x) { throw 6 }, assertUnreachable).chain(
assertUnreachable,
function(x) { assertAsync(x === 6, "resolved/then-throw/chain") }
@@ -290,9 +290,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.then(function(x) { throw 6 }, assertUnreachable).then(
assertUnreachable,
function(x) { assertAsync(x === 6, "resolved/then-throw/then") }
@@ -301,9 +301,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
+ var p1 = Promise.accept(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
- var p3 = Promise.resolve(p2)
+ var p3 = Promise.accept(p2)
p3.chain(
function(x) { assertAsync(x === p2, "resolved/thenable/chain") },
assertUnreachable
@@ -312,9 +312,9 @@
})();
(function() {
- var p1 = Promise.resolve(5)
+ var p1 = Promise.accept(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
- var p3 = Promise.resolve(p2)
+ var p3 = Promise.accept(p2)
p3.then(
function(x) { assertAsync(x === 5, "resolved/thenable/then") },
assertUnreachable
@@ -325,7 +325,7 @@
(function() {
var p1 = Promise.reject(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
- var p3 = Promise.resolve(p2)
+ var p3 = Promise.accept(p2)
p3.chain(
function(x) { assertAsync(x === p2, "rejected/thenable/chain") },
assertUnreachable
@@ -336,7 +336,7 @@
(function() {
var p1 = Promise.reject(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
- var p3 = Promise.resolve(p2)
+ var p3 = Promise.accept(p2)
p3.then(
assertUnreachable,
function(x) { assertAsync(x === 5, "rejected/thenable/then") }
@@ -347,8 +347,8 @@
(function() {
var deferred = Promise.defer()
var p1 = deferred.promise
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.chain(
function(x) { assertAsync(x === p2, "chain/resolve") },
assertUnreachable
@@ -360,8 +360,8 @@
(function() {
var deferred = Promise.defer()
var p1 = deferred.promise
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.then(
function(x) { assertAsync(x === 5, "then/resolve") },
assertUnreachable
@@ -373,8 +373,8 @@
(function() {
var deferred = Promise.defer()
var p1 = deferred.promise
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.chain(
function(x) { assertAsync(x === p2, "chain/reject") },
assertUnreachable
@@ -386,8 +386,8 @@
(function() {
var deferred = Promise.defer()
var p1 = deferred.promise
- var p2 = Promise.resolve(p1)
- var p3 = Promise.resolve(p2)
+ var p2 = Promise.accept(p1)
+ var p3 = Promise.accept(p2)
p3.then(
assertUnreachable,
function(x) { assertAsync(x === 5, "then/reject") }
@@ -400,7 +400,7 @@
var deferred = Promise.defer()
var p1 = deferred.promise
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
- var p3 = Promise.resolve(p2)
+ var p3 = Promise.accept(p2)
p3.chain(
function(x) { assertAsync(x === p2, "chain/resolve/thenable") },
assertUnreachable
@@ -413,7 +413,7 @@
var deferred = Promise.defer()
var p1 = deferred.promise
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
- var p3 = Promise.resolve(p2)
+ var p3 = Promise.accept(p2)
p3.then(
function(x) { assertAsync(x === 5, "then/resolve/thenable") },
assertUnreachable
@@ -426,7 +426,7 @@
var deferred = Promise.defer()
var p1 = deferred.promise
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
- var p3 = Promise.resolve(p2)
+ var p3 = Promise.accept(p2)
p3.chain(
function(x) { assertAsync(x === p2, "chain/reject/thenable") },
assertUnreachable
@@ -439,7 +439,7 @@
var deferred = Promise.defer()
var p1 = deferred.promise
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
- var p3 = Promise.resolve(p2)
+ var p3 = Promise.accept(p2)
p3.then(
assertUnreachable,
function(x) { assertAsync(x === 5, "then/reject/thenable") }
@@ -449,8 +449,8 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
var deferred = Promise.defer()
var p3 = deferred.promise
p3.chain(
@@ -462,8 +462,8 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
var deferred = Promise.defer()
var p3 = deferred.promise
p3.then(
@@ -475,8 +475,8 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
var deferred = Promise.defer()
var p3 = deferred.promise
p3.chain(
@@ -488,8 +488,8 @@
})();
(function() {
- var p1 = Promise.resolve(5)
- var p2 = Promise.resolve(p1)
+ var p1 = Promise.accept(5)
+ var p2 = Promise.accept(p1)
var deferred = Promise.defer()
var p3 = deferred.promise
p3.then(
@@ -501,7 +501,7 @@
})();
(function() {
- var p1 = Promise.resolve(5)
+ var p1 = Promise.accept(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var deferred = Promise.defer()
var p3 = deferred.promise
@@ -514,7 +514,7 @@
})();
(function() {
- var p1 = Promise.resolve(5)
+ var p1 = Promise.accept(5)
var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
var deferred = Promise.defer()
var p3 = deferred.promise
@@ -527,7 +527,7 @@
})();
(function() {
- var p1 = Promise.resolve(0)
+ var p1 = Promise.accept(0)
var p2 = p1.chain(function(x) { return p2 }, assertUnreachable)
p2.chain(
assertUnreachable,
@@ -537,7 +537,7 @@
})();
(function() {
- var p1 = Promise.resolve(0)
+ var p1 = Promise.accept(0)
var p2 = p1.then(function(x) { return p2 }, assertUnreachable)
p2.chain(
assertUnreachable,
@@ -612,7 +612,7 @@
(function() {
var deferred = Promise.defer()
var p1 = deferred.promise
- var p2 = Promise.resolve(2)
+ var p2 = Promise.accept(2)
var p3 = Promise.defer().promise
Promise.all([p1, p2, p3]).chain(
assertUnreachable,
@@ -646,9 +646,9 @@
})();
(function() {
- var p1 = Promise.resolve(1)
- var p2 = Promise.resolve(2)
- var p3 = Promise.resolve(3)
+ var p1 = Promise.accept(1)
+ var p2 = Promise.accept(2)
+ var p3 = Promise.accept(3)
Promise.race([p1, p2, p3]).chain(
function(x) { assertAsync(x === 1, "resolved/one") },
assertUnreachable
@@ -657,9 +657,9 @@
})();
(function() {
- var p1 = Promise.resolve(1)
- var p2 = Promise.resolve(2)
- var p3 = Promise.resolve(3)
+ var p1 = Promise.accept(1)
+ var p2 = Promise.accept(2)
+ var p3 = Promise.accept(3)
Promise.race([0, p1, p2, p3]).chain(
function(x) { assertAsync(x === 0, "resolved-const/one") },
assertUnreachable
@@ -694,7 +694,7 @@
(function() {
var deferred = Promise.defer()
var p1 = deferred.promise
- var p2 = Promise.resolve(2)
+ var p2 = Promise.accept(2)
var p3 = Promise.defer().promise
Promise.race([p1, p2, p3]).chain(
function(x) { assertAsync(x === 2, "resolved/one") },
@@ -789,11 +789,11 @@
assertTrue(log === "dncncnx6", "subclass/chain")
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")
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")
})();
=======================================
---
/branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast-expected.txt
Mon Mar 10 12:30:47 2014 UTC
+++
/branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast-expected.txt
Tue Mar 18 15:03:35 2014 UTC
@@ -1,4 +1,4 @@
-Test Promise.cast
+Test Promise.resolve as cast
On success, you will see a series of "PASS" messages, followed by "TEST
COMPLETE".
=======================================
--- /branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast.js Mon
Mar 10 12:30:47 2014 UTC
+++ /branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast.js Tue
Mar 18 15:03:35 2014 UTC
@@ -23,23 +23,23 @@
// Flags: --harmony
'use strict';
-description('Test Promise.cast');
+description('Test Promise.resolve as cast');
var result = undefined;
var result2 = undefined;
var resolve;
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');
promise.then(function(res) {
result = res;
shouldBeEqualToString('result', 'hello');
- return Promise.cast(42).then(function (res) {
+ return Promise.resolve(42).then(function (res) {
result2 = res;
shouldBe('result2', '42');
});
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.