| Index: LayoutTests/fast/js/Promise-then-rejected.html | 
| diff --git a/LayoutTests/fast/js/Promise-then-rejected.html b/LayoutTests/fast/js/Promise-then-rejected.html | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..abfcb50ea93907e04869449900ae53394876dcac | 
| --- /dev/null | 
| +++ b/LayoutTests/fast/js/Promise-then-rejected.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> | 
| +description("Test Promise."); | 
| + | 
| +window.jsTestIsAsync = true; | 
| + | 
| +var resolver; | 
| + | 
| +var firstPromise = new Promise(function(newResolver) { | 
| +  window.thisInInit = this; | 
| +  resolver = newResolver; | 
| +}); | 
| + | 
| +var secondPromise = firstPromise.then(function() { | 
| +  debug("FAIL fulfilled"); | 
| +}, function(value) { | 
| +  window.thisInFulfillCallback = this; | 
| +  shouldBeFalse("thisInFulfillCallback === firstPromise"); | 
| +  shouldBeTrue("thisInFulfillCallback === secondPromise"); | 
| +  window.value = value; | 
| +  shouldBeEqualToString("value", "hello"); | 
| +}); | 
| + | 
| +secondPromise.then(function() { | 
| +  debug("PASS fulfilled"); | 
| +  finishJSTest(); | 
| +}, function() { | 
| +  debug("FAIL rejected"); | 
| +  finishJSTest(); | 
| +}, function() { | 
| +}); | 
| + | 
| +shouldBeTrue("thisInInit === firstPromise"); | 
| +shouldBeTrue("firstPromise instanceof Promise"); | 
| +shouldBeTrue("secondPromise instanceof Promise"); | 
| + | 
| +resolver.reject("hello"); | 
| + | 
| +</script> | 
| +<script src="resources/js-test-post.js"></script> | 
| +</body> | 
| +</html> | 
| +}); | 
| + | 
| +shouldBeTrue("thisInInit === firstPromise"); | 
| +shouldBeTrue("firstPromise instanceof Promise"); | 
| +shouldBeTrue("secondPromise instanceof Promise"); | 
| + | 
| +resolver.reject("hello"); | 
| + | 
| +</script> | 
| +<script src="resources/js-test-post.js"></script> | 
| +</body> | 
| +</html> | 
|  |