Index: LayoutTests/fast/js/Promise-reject.html |
diff --git a/LayoutTests/fast/js/Promise-reject.html b/LayoutTests/fast/js/Promise-reject.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8c651104a20c75ff5b628123abf7d2fa4cc41d43 |
--- /dev/null |
+++ b/LayoutTests/fast/js/Promise-reject.html |
@@ -0,0 +1,44 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<script src="resources/js-test-pre.js"></script> |
+</head> |
+<body> |
+<div id="description"></div> |
+<div id="console"></div> |
+<script> |
+description('Test Promise.'); |
+ |
+window.jsTestIsAsync = true; |
+ |
+var resolver; |
+var promise = new Promise(function(r) { resolver = r; }); |
+var promiseState = 'pending'; |
+var promiseResult = undefined; |
+promise.then(function(result) { |
+ promiseState = 'fulfilled'; |
+ promiseResult = result; |
+}, function(result) { |
+ promiseState = 'rejected'; |
+ promiseResult = result; |
+}); |
+ |
+shouldBeEqualToString('promiseState', 'pending'); |
+ |
+resolver.reject('hello'); |
+ |
+shouldBeEqualToString('promiseState', 'pending'); |
+ |
+promise.then(function() { |
+ testFailed('promise is fulfilled.'); |
+ finishJSTest(); |
+}, function() { |
+ shouldBeEqualToString('promiseState', 'rejected'); |
+ shouldBeEqualToString('promiseResult', 'hello'); |
+ finishJSTest(); |
+}); |
+ |
+</script> |
+<script src="resources/js-test-post.js"></script> |
+</body> |
+</html> |