mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-12 18:52:50 +00:00
updated bunch of file paths and changed the way posts are loaded
This commit is contained in:
277
node_modules/kareem/test/wrap.test.js
generated
vendored
Normal file
277
node_modules/kareem/test/wrap.test.js
generated
vendored
Normal file
@@ -0,0 +1,277 @@
|
||||
var assert = require('assert');
|
||||
var Kareem = require('../');
|
||||
|
||||
describe('wrap()', function() {
|
||||
var hooks;
|
||||
|
||||
beforeEach(function() {
|
||||
hooks = new Kareem();
|
||||
});
|
||||
|
||||
it('handles pre errors', function(done) {
|
||||
hooks.pre('cook', function(done) {
|
||||
done('error!');
|
||||
});
|
||||
|
||||
hooks.post('cook', function(obj) {
|
||||
obj.tofu = 'no';
|
||||
});
|
||||
|
||||
var obj = { bacon: 0, eggs: 0 };
|
||||
|
||||
var args = [obj];
|
||||
args.push(function(error, result) {
|
||||
assert.equal('error!', error);
|
||||
assert.ok(!result);
|
||||
assert.equal(undefined, obj.tofu);
|
||||
done();
|
||||
});
|
||||
|
||||
hooks.wrap(
|
||||
'cook',
|
||||
function(o, callback) {
|
||||
// Should never get called
|
||||
assert.ok(false);
|
||||
callback(null, o);
|
||||
},
|
||||
obj,
|
||||
args);
|
||||
});
|
||||
|
||||
it('handles pre errors when no callback defined', function(done) {
|
||||
hooks.pre('cook', function(done) {
|
||||
done('error!');
|
||||
});
|
||||
|
||||
hooks.post('cook', function(obj) {
|
||||
obj.tofu = 'no';
|
||||
});
|
||||
|
||||
var obj = { bacon: 0, eggs: 0 };
|
||||
|
||||
var args = [obj];
|
||||
|
||||
hooks.wrap(
|
||||
'cook',
|
||||
function(o, callback) {
|
||||
// Should never get called
|
||||
assert.ok(false);
|
||||
callback(null, o);
|
||||
},
|
||||
obj,
|
||||
args);
|
||||
|
||||
setTimeout(
|
||||
function() {
|
||||
done();
|
||||
},
|
||||
25);
|
||||
});
|
||||
|
||||
it('handles errors in wrapped function', function(done) {
|
||||
hooks.pre('cook', function(done) {
|
||||
done();
|
||||
});
|
||||
|
||||
hooks.post('cook', function(obj) {
|
||||
obj.tofu = 'no';
|
||||
});
|
||||
|
||||
var obj = { bacon: 0, eggs: 0 };
|
||||
|
||||
var args = [obj];
|
||||
args.push(function(error, result) {
|
||||
assert.equal('error!', error);
|
||||
assert.ok(!result);
|
||||
assert.equal(undefined, obj.tofu);
|
||||
done();
|
||||
});
|
||||
|
||||
hooks.wrap(
|
||||
'cook',
|
||||
function(o, callback) {
|
||||
callback('error!');
|
||||
},
|
||||
obj,
|
||||
args);
|
||||
});
|
||||
|
||||
it('handles errors in post', function(done) {
|
||||
hooks.pre('cook', function(done) {
|
||||
done();
|
||||
});
|
||||
|
||||
hooks.post('cook', function(obj, callback) {
|
||||
obj.tofu = 'no';
|
||||
callback('error!');
|
||||
});
|
||||
|
||||
var obj = { bacon: 0, eggs: 0 };
|
||||
|
||||
var args = [obj];
|
||||
args.push(function(error, result) {
|
||||
assert.equal('error!', error);
|
||||
assert.ok(!result);
|
||||
assert.equal('no', obj.tofu);
|
||||
done();
|
||||
});
|
||||
|
||||
hooks.wrap(
|
||||
'cook',
|
||||
function(o, callback) {
|
||||
callback(null, o);
|
||||
},
|
||||
obj,
|
||||
args);
|
||||
});
|
||||
|
||||
it('works with no args', function(done) {
|
||||
hooks.pre('cook', function(done) {
|
||||
done();
|
||||
});
|
||||
|
||||
hooks.post('cook', function(callback) {
|
||||
obj.tofu = 'no';
|
||||
callback();
|
||||
});
|
||||
|
||||
var obj = { bacon: 0, eggs: 0 };
|
||||
|
||||
var args = [];
|
||||
|
||||
hooks.wrap(
|
||||
'cook',
|
||||
function(callback) {
|
||||
callback(null);
|
||||
},
|
||||
obj,
|
||||
args);
|
||||
|
||||
setTimeout(
|
||||
function() {
|
||||
assert.equal('no', obj.tofu);
|
||||
done();
|
||||
},
|
||||
25);
|
||||
});
|
||||
|
||||
it('handles pre errors with no args', function(done) {
|
||||
hooks.pre('cook', function(done) {
|
||||
done('error!');
|
||||
});
|
||||
|
||||
hooks.post('cook', function(callback) {
|
||||
obj.tofu = 'no';
|
||||
callback();
|
||||
});
|
||||
|
||||
var obj = { bacon: 0, eggs: 0 };
|
||||
|
||||
var args = [];
|
||||
|
||||
hooks.wrap(
|
||||
'cook',
|
||||
function(callback) {
|
||||
callback(null);
|
||||
},
|
||||
obj,
|
||||
args);
|
||||
|
||||
setTimeout(
|
||||
function() {
|
||||
assert.equal(undefined, obj.tofu);
|
||||
done();
|
||||
},
|
||||
25);
|
||||
});
|
||||
|
||||
it('handles wrapped function errors with no args', function(done) {
|
||||
hooks.pre('cook', function(done) {
|
||||
obj.waffles = false;
|
||||
done();
|
||||
});
|
||||
|
||||
hooks.post('cook', function(callback) {
|
||||
obj.tofu = 'no';
|
||||
callback();
|
||||
});
|
||||
|
||||
var obj = { bacon: 0, eggs: 0 };
|
||||
|
||||
var args = [];
|
||||
|
||||
hooks.wrap(
|
||||
'cook',
|
||||
function(callback) {
|
||||
callback('error!');
|
||||
},
|
||||
obj,
|
||||
args);
|
||||
|
||||
setTimeout(
|
||||
function() {
|
||||
assert.equal(false, obj.waffles);
|
||||
assert.equal(undefined, obj.tofu);
|
||||
done();
|
||||
},
|
||||
25);
|
||||
});
|
||||
|
||||
it('handles post errors with no args', function(done) {
|
||||
hooks.pre('cook', function(done) {
|
||||
obj.waffles = false;
|
||||
done();
|
||||
});
|
||||
|
||||
hooks.post('cook', function(callback) {
|
||||
obj.tofu = 'no';
|
||||
callback('error!');
|
||||
});
|
||||
|
||||
var obj = { bacon: 0, eggs: 0 };
|
||||
|
||||
var args = [];
|
||||
|
||||
hooks.wrap(
|
||||
'cook',
|
||||
function(callback) {
|
||||
callback();
|
||||
},
|
||||
obj,
|
||||
args);
|
||||
|
||||
setTimeout(
|
||||
function() {
|
||||
assert.equal(false, obj.waffles);
|
||||
assert.equal('no', obj.tofu);
|
||||
done();
|
||||
},
|
||||
25);
|
||||
});
|
||||
|
||||
it('can use legacy post behavior', function(done) {
|
||||
var called = 0;
|
||||
hooks.post('cook', function(callback) {
|
||||
++called;
|
||||
callback();
|
||||
});
|
||||
|
||||
var args = [function(error) {
|
||||
assert.equal(called, 0);
|
||||
|
||||
setTimeout(function() {
|
||||
assert.equal(called, 1);
|
||||
done();
|
||||
}, 0);
|
||||
}];
|
||||
|
||||
hooks.wrap(
|
||||
'cook',
|
||||
function(callback) {
|
||||
callback();
|
||||
},
|
||||
null,
|
||||
args,
|
||||
true);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user