You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
839 B
46 lines
839 B
"use strict"; |
|
|
|
var delay = require("../../delay"); |
|
|
|
module.exports = function (t, a) { |
|
if (typeof Promise !== "function") return null; |
|
return { |
|
Success: function (d) { |
|
var promise = t.call( |
|
new Promise(function (resolve) { |
|
setTimeout(function () { resolve("foo"); }, 20); |
|
}), |
|
40 |
|
); |
|
|
|
promise.then( |
|
// Delay to escape error swallowing |
|
delay(function (result) { |
|
a(result, "foo"); |
|
d(); |
|
}), |
|
delay(d) |
|
); |
|
}, |
|
Timeout: function (d) { |
|
var promise = t.call( |
|
new Promise(function (resolve) { |
|
setTimeout(function () { resolve("foo"); }, 40); |
|
}), |
|
20 |
|
); |
|
|
|
promise.then( |
|
// Delay to escape error swallowing |
|
delay(function () { |
|
a.never(); |
|
d(); |
|
}), |
|
delay(function (err) { |
|
a(err.code, "PROMISE_TIMEOUT"); |
|
d(); |
|
}) |
|
); |
|
} |
|
}; |
|
};
|
|
|