<!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 result;
var resolve;
var promise = new Promise(function (r) { resolve = r; });

for (var i = 0; i < 5000; ++i)
  promise = promise.then(function (value) { return value; }, function () { testFailed('rejected'); });

promise.then(function (value) {
    window.result = value;
    shouldBe('result', '42');
}).then(finishJSTest, finishJSTest);

shouldBe('result', 'undefined');
resolve(42);

</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
