<!-- Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> <html> <head> <title>Promise.resolve(anything) Test</title> <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> </head> <body> <p id="display"></p> <div id="content" style="display: none"> </div> <pre id="test"> <script type="application/javascript"><!-- var tests = [ null, 42, "hello world", true, false, {}, { a: 42 }, [ 1, 2, 3, 4, null, true, "hello world" ], function() {}, window, undefined, document.createElement('input'), new Date(), ]; function cbError() { ok(false, "Nothing should arrive here!"); } function runTest() { if (!tests.length) { SimpleTest.finish(); return; } var test = tests.pop(); new Promise(function(resolve, reject) { resolve(test); }).then(function(what) { ok(test === what, "What is: " + what); }, cbError).then(function() { new Promise(function(resolve, reject) { reject(test) }).then(cbError, function(what) { ok(test === what, "What is: " + what); }).then(runTest, cbError); }); } SimpleTest.waitForExplicitFinish(); runTest(); // --> </script> </pre> </body> </html>