Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: test/webkit/fast/js/Promise-chained-then.js

Issue 182713002: Import Blink layout tests for Promises. (Closed) Base URL: git://github.com/v8/v8.git@master
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions
6 // are met:
7 // 1. Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // 2. Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the
10 // documentation and/or other materials provided with the distribution.
11 //
12 // THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN Y
13 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
14 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
15 // DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN Y
16 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
17 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
18 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O N
19 // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
20 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
21 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22
23 // Flags: --harmony
24 'use strict';
25 description('Test chained Promise.prototype.then.');
26
27 var resolve;
28 var promise = new Promise(function (r) {resolve = r;});
29 var result;
30
31 promise.then(function(localResult) { // fulfilled - continue
32 testPassed('fulfilled');
33 result = localResult;
34 shouldBeEqualToString('result', 'hello');
35 return 'hello2';
36 }, function() {
37 testFailed('rrejected');
38 }).then() // pass through
39 .then(function(localResult) { // fulfilled - throw an exception
40 testPassed('fulfilled');
41 result = localResult;
42 shouldBeEqualToString('result', 'hello2');
43 throw 'error';
44 }, function() {
45 testFailed('rejected');
46 }).then(function() { // rejected - throw an exception
47 testFailed('fulfilled');
48 }, function(localResult) {
49 testPassed('rejected');
50 result = localResult;
51 shouldBeEqualToString('result', 'error');
52 throw 'error2';
53 }).then() // pass through
54 .then(function() { // rejected - recover
55 testFailed('fulfilled');
56 }, function(localResult) {
57 testPassed('rejected');
58 result = localResult;
59 shouldBeEqualToString('result', 'error2');
60 return 'recovered';
61 }).then(function(localResult) { // fulfilled - the last
62 testPassed('fulfilled');
63 result = localResult;
64 shouldBeEqualToString('result', 'recovered');
65 finishJSTest();
66 }, function() {
67 testFailed('rejected');
68 finishJSTest();
69 });
70
71 resolve('hello');
72 debug('This should be the first debug output.');
OLDNEW
« no previous file with comments | « test/webkit/fast/js/Promise-catch-expected.txt ('k') | test/webkit/fast/js/Promise-chained-then-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698