Index: LayoutTests/fast/js/Promise-init-throws.html |
diff --git a/LayoutTests/fast/js/Promise-init-throws.html b/LayoutTests/fast/js/Promise-init-throws.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b7f48cfcb62a9fde2084f1f4da31b7852e09b315 |
--- /dev/null |
+++ b/LayoutTests/fast/js/Promise-init-throws.html |
@@ -0,0 +1,43 @@ |
+<!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; |
+ |
+new Promise( |
+ function(newResolver) { |
+ throw "foobar"; |
+ }) |
+ .catch( |
+ function(value) { |
+ window.rejectedValue = value; |
+ shouldBeEqualToString("rejectedValue", "foobar"); |
+ }); |
+ |
+new Promise( |
+ function(newResolver) { |
+ newResolver.fulfill("hogefuga"); |
+ throw "foobar"; |
+ }).then(function(value) { |
+ window.fulfilledValue = value; |
+ shouldBeEqualToString("fulfilledValue", "hogefuga"); |
+ finishJSTest(); |
+ }, function() { |
+ debug("FAIL This promise must not be rejected."); |
+ finishJSTest(); |
+ }); |
+ |
+ |
+</script> |
+<script src="resources/js-test-post.js"></script> |
+</body> |
+</html> |