Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / fast / js / Promise-static-cast.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../resources/js-test.js"></script>
5 </head>
6 <body>
7 <div id="description"></div>
8 <div id="console"></div>
9 <script>
10 description('Test Promise.cast');
11
12 window.jsTestIsAsync = true;
13 result = undefined;
14 result2 = undefined;
15
16 var resolve;
17 var value = new Promise(function (r) { resolve = r;} );
18 var promise = Promise.cast(value);
19
20 // If [[IsPromise]] is true, Promise.cast simply returns argument.
21 shouldBeTrue('promise === value');
22
23 promise.then(function(res) {
24   result = res;
25   shouldBeEqualToString('result', 'hello');
26
27   return Promise.cast(42).then(function (res) {
28       result2 = res;
29       shouldBe('result2', '42');
30   });
31 }).then(function () {
32   testPassed('fulfilled');
33   finishJSTest();
34 }, function() {
35   testFailed('rejected');
36   finishJSTest();
37 });
38
39 resolve('hello');
40 shouldBe('result', 'undefined');
41 shouldBe('result2', 'undefined');
42 </script>
43 </body>
44 </html>