Now we've got everything prettified!
This commit is contained in:
parent
754d65ae2e
commit
a0ed993b42
30 changed files with 3562 additions and 2873 deletions
|
@ -1,74 +1,80 @@
|
|||
'use strict';
|
||||
|
||||
describe('createTaskWithTimeout', function() {
|
||||
it('resolves when promise resolves', function() {
|
||||
var task = function() {
|
||||
return Promise.resolve('hi!');
|
||||
};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task);
|
||||
it('resolves when promise resolves', function() {
|
||||
var task = function() {
|
||||
return Promise.resolve('hi!');
|
||||
};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task);
|
||||
|
||||
return taskWithTimeout().then(function(result) {
|
||||
assert.strictEqual(result, 'hi!')
|
||||
});
|
||||
return taskWithTimeout().then(function(result) {
|
||||
assert.strictEqual(result, 'hi!');
|
||||
});
|
||||
it('flows error from promise back', function() {
|
||||
var error = new Error('original');
|
||||
var task = function() {
|
||||
return Promise.reject(error);
|
||||
};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task);
|
||||
});
|
||||
it('flows error from promise back', function() {
|
||||
var error = new Error('original');
|
||||
var task = function() {
|
||||
return Promise.reject(error);
|
||||
};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task);
|
||||
|
||||
return taskWithTimeout().catch(function(flowedError) {
|
||||
assert.strictEqual(error, flowedError);
|
||||
});
|
||||
return taskWithTimeout().catch(function(flowedError) {
|
||||
assert.strictEqual(error, flowedError);
|
||||
});
|
||||
});
|
||||
it('rejects if promise takes too long (this one logs error to console)', function() {
|
||||
var error = new Error('original');
|
||||
var complete = false;
|
||||
var task = function() {
|
||||
return new Promise(function(resolve) {
|
||||
setTimeout(function() {
|
||||
complete = true;
|
||||
resolve();
|
||||
}, 3000);
|
||||
});
|
||||
};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task, this.name, {
|
||||
timeout: 10,
|
||||
});
|
||||
it('rejects if promise takes too long (this one logs error to console)', function() {
|
||||
var error = new Error('original');
|
||||
var complete = false;
|
||||
var task = function() {
|
||||
return new Promise(function(resolve) {
|
||||
setTimeout(function() {
|
||||
complete = true;
|
||||
resolve();
|
||||
}, 3000);
|
||||
});
|
||||
};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task, this.name, {
|
||||
timeout: 10
|
||||
});
|
||||
|
||||
return taskWithTimeout().then(function() {
|
||||
throw new Error('it was not supposed to resolve!');
|
||||
}, function() {
|
||||
assert.strictEqual(complete, false);
|
||||
});
|
||||
return taskWithTimeout().then(
|
||||
function() {
|
||||
throw new Error('it was not supposed to resolve!');
|
||||
},
|
||||
function() {
|
||||
assert.strictEqual(complete, false);
|
||||
}
|
||||
);
|
||||
});
|
||||
it('resolves if task returns something falsey', function() {
|
||||
var task = function() {};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task);
|
||||
return taskWithTimeout();
|
||||
});
|
||||
it('resolves if task returns a non-promise', function() {
|
||||
var task = function() {
|
||||
return 'hi!';
|
||||
};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task);
|
||||
return taskWithTimeout().then(function(result) {
|
||||
assert.strictEqual(result, 'hi!');
|
||||
});
|
||||
it('resolves if task returns something falsey', function() {
|
||||
var task = function() {};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task);
|
||||
return taskWithTimeout();
|
||||
});
|
||||
it('resolves if task returns a non-promise', function() {
|
||||
var task = function() {
|
||||
return 'hi!';
|
||||
};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task);
|
||||
return taskWithTimeout().then(function(result) {
|
||||
assert.strictEqual(result, 'hi!')
|
||||
});
|
||||
});
|
||||
it('rejects if task throws (and does not log about taking too long)', function() {
|
||||
var error = new Error('Task is throwing!');
|
||||
var task = function() {
|
||||
throw error;
|
||||
};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task, this.name, {
|
||||
timeout: 10
|
||||
});
|
||||
return taskWithTimeout().then(function(result) {
|
||||
throw new Error('Overall task should reject!')
|
||||
}, function(flowedError) {
|
||||
assert.strictEqual(flowedError, error);
|
||||
});
|
||||
});
|
||||
it('rejects if task throws (and does not log about taking too long)', function() {
|
||||
var error = new Error('Task is throwing!');
|
||||
var task = function() {
|
||||
throw error;
|
||||
};
|
||||
var taskWithTimeout = textsecure.createTaskWithTimeout(task, this.name, {
|
||||
timeout: 10,
|
||||
});
|
||||
return taskWithTimeout().then(
|
||||
function(result) {
|
||||
throw new Error('Overall task should reject!');
|
||||
},
|
||||
function(flowedError) {
|
||||
assert.strictEqual(flowedError, error);
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue