ember-introjs
Version:
An Ember Component for intro.js
57 lines (53 loc) • 1.37 kB
JavaScript
var assert = require("assert");
var promise = require("../promise");
exports.testResolved = function (){
return promise.spawn(function* (){
yield promise.delay(100);
// can yield non-promise values
var foo = yield 'foo';
assert.ok(foo === 'foo');
var result = yield promise.delay(50).then(function () {
return foo;
});
var error = new Error('Boom!');
var start = new Date();
try {
yield promise.delay(100).then(function () {
throw error;
});
// Should never come here
assert.ok(true === false);
}
catch (e) {
assert.ok(e === error);
assert.ok(new Date() - start >= 100);
}
return result;
}).then(function (value) {
assert.ok(value === 'foo');
return true;
}, function (e) {
// Should never come here
assert.ok(true === false);
});
};
exports.testRejected = function (){
var error = new Error('Boom!');
return promise.spawn(function* (){
var start = new Date();
yield promise.delay(100).then(function () {
assert.ok(new Date() - start >= 100);
throw error;
});
// Should never come here
assert.ok(true === false);
}).then(function () {
// Should never come here
assert.ok(true === false);
}, function (e) {
assert.ok(e === error);
return true;
});
};
if (require.main === module)
require("patr/runner").run(exports);