Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / third_party / tvcm / third_party / Promises / polyfill / tests / promises-tests.js
1 // Copyright (C) 2013:
2 //    Alex Russell (slightlyoff@chromium.org)
3 // Use of this source code is governed by
4 //    http://www.apache.org/licenses/LICENSE-2.0
5
6 var promisesAplusTests = require("../third_party/promises-tests");
7 var fs = require("fs");
8 var _eval = require("eval");
9
10 var Promise = _eval(fs.readFileSync("../src/Promise.js", "utf-8") +
11                                    "module.exports = Promise;");
12
13 var adapter = {
14   rejected: function(reason) {
15     return new Promise(function(r) { r.reject(reason); });
16   },
17
18   fulfilled: function(value) {
19     return new Promise(function(r) { r.fulfill(value); });
20   },
21
22   pending: function() {
23     var resolver;
24     var future = new Promise(function(r) { resolver = r; });
25     return {
26       promise: future,
27       fulfill: function (value) {
28         try {
29           resolver.resolve(value);
30         } catch (e) { }
31       },
32       reject: function (reason) {
33         try {
34           resolver.reject(reason);
35         } catch (e) { }
36       }
37     };
38   }
39 };
40
41 promisesAplusTests(adapter, console.log);