| Index: LayoutTests/fast/js/Promise-then-callback-receiver.html
|
| diff --git a/LayoutTests/fast/js/Promise-then-callback-receiver.html b/LayoutTests/fast/js/Promise-then-callback-receiver.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bc4f9a759059018625b6741185781bf496418da8
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/js/Promise-then-callback-receiver.html
|
| @@ -0,0 +1,61 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| +<script src="resources/js-test-pre.js"></script>
|
| +</head>
|
| +<body>
|
| +<div id="description"></div>
|
| +<div id="console"></div>
|
| +<script>
|
| +window.jsTestIsAsync = true;
|
| +
|
| +description('Test Promise.');
|
| +
|
| +var thisInOnFulfilledSloppy;
|
| +var thisInOnRejectedSloppy;
|
| +
|
| +var thisInOnFulfilledStrict;
|
| +var thisInOnRejectedStrict;
|
| +
|
| +Promise.resolve().then(function () {
|
| + return Promise.resolve(42).then(function () {
|
| + testPassed('fulfilled');
|
| + window.thisInOnFulfilledSloppy = this;
|
| + shouldBe('thisInOnFulfilledSloppy', 'window');
|
| + }, function () {
|
| + testFailed('rejected');
|
| + });
|
| +}).then(function () {
|
| + return Promise.reject(42).then(function () {
|
| + testFailed('fulfilled');
|
| + }, function () {
|
| + testPassed('rejected');
|
| + window.thisInOnRejectedSloppy = this;
|
| + shouldBe('thisInOnRejectedSloppy', 'window');
|
| + });
|
| +}).then(function () {
|
| + return Promise.resolve(42).then(function () {
|
| + 'use strict';
|
| + testPassed('fulfilled');
|
| + window.thisInOnFulfilledStrict = this;
|
| + shouldBe('thisInOnFulfilledStrict', 'undefined');
|
| + }, function () {
|
| + 'use strict';
|
| + testFailed('rejected');
|
| + });
|
| +}).then(function () {
|
| + return Promise.reject(42).then(function () {
|
| + 'use strict';
|
| + testFailed('fulfilled');
|
| + }, function () {
|
| + 'use strict';
|
| + testPassed('rejected');
|
| + window.thisInOnRejectedStrict = this;
|
| + shouldBe('thisInOnRejectedStrict', 'undefined');
|
| + });
|
| +}).then(finishJSTest, finishJSTest);
|
| +
|
| +</script>
|
| +<script src="resources/js-test-post.js"></script>
|
| +</body>
|
| +</html>
|
|
|