123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- var tools = require("../index");
- var expect = require('expect.js');
- describe('Tools API', function() {
- // before(setup);
- // after(cleanup);
- describe('add_action do_action', function() {
- it('Can add an `action` function to be called with do_action', function(done) {
- var tool = tools();
- tool.add_action("test", function() {
- expect(true)
- done();
- }, 10);
- tool.do_action("test");
- });
- it('Can add an `action` function to be called with do_action with extra arguments', function(
- done) {
- var tool = tools();
- tool.add_action("test", function(myarg) {
- expect(myarg).to.equal("hello");
- done();
- }, 10);
- tool.do_action("test", "hello");
- });
- it('Can add an `action` function to be called with do_action sorted', function(done) {
- var tool = tools();
- var iii = 0;
- tool.add_action("test", function() {
- expect(iii).to.equal(2)
- iii++
- }, 30);
- tool.add_action("test", function() {
- expect(iii).to.equal(1)
- iii++
- done();
- }, 20);
- tool.add_action("test", function() {
- expect(iii).to.equal(3)
- iii++
- }, 50);
- tool.add_action("test", function() {
- expect(iii).to.equal(0)
- iii++
- }, 10);
- tool.do_action("test");
- });
- it('Can add an `action` function to be called with do_action with extra arguments sorted tool.do_action("test", "hello")',
- function(done) {
- var tool = tools();
- var iii = 0;
- tool.add_action("test", function(myarg) {
- expect(iii).to.equal(2)
- expect(myarg).to.equal("hello");
- iii++
- }, 30);
- tool.add_action("test", function(myarg) {
- expect(iii).to.equal(1)
- expect(myarg).to.equal("hello");
- iii++
- done();
- }, 20);
- tool.add_action("test", function(myarg) {
- expect(iii).to.equal(3)
- expect(myarg).to.equal("hello");
- iii++
- }, 50);
- tool.add_action("test", function(myarg) {
- expect(iii).to.equal(0)
- expect(myarg).to.equal("hello");
- iii++
- }, 10);
- tool.do_action("test", "hello");
- });
- })
- describe('add_filters apply_filters', function() {
- it('Can add an `filter` function to be called with apply_filters ARRAY tool.apply_filters("test", [])', function(done) {
- var tool = tools();
- tool.add_filters("test", function(a) {
- a.push("test");
- return a;
- }, 10, "test");
- var t = tool.apply_filters("test", []);
- expect(t).to.be.an('array');
- expect(t.length).to.equal(1);
- expect(t[0]).to.equal("test");
- done();
- });
- it('Can add an `filter` function to be called with apply_filters ARRAY sorted tool.apply_filters("test", [])', function(done) {
- var tool = tools();
- tool.add_filters("test", function(a) {
- a.push("test");
- return a;
- }, 10);
- tool.add_filters("test", function(a) {
- a.push("test2");
- return a;
- }, 5);
- var t = tool.apply_filters("test", []);
- expect(t).to.be.an('array');
- expect(t.length).to.equal(2);
- expect(t[0]).to.equal("test2");
- done();
- });
- it('Can add an `filter` function to be called with apply_filters ARRAY sorted 2 tool.apply_filters("test", ["1", "2", "3"])', function(done) {
- var tool = tools();
- tool.add_filters("test", function(a) {
- if (a.length > 0) {
- a[0] = a[0] + ":1";
- }
- return a;
- }, 10);
- var t = tool.apply_filters("test", ["1", "2", "3"]);
- expect(t).to.be.an('array');
- expect(t.length).to.equal(3);
- expect(t[0]).to.equal("1:1");
- done();
- });
- it('Can add an `filter` function to be called with apply_filters ARRAY of functions that callback tool.apply_filters_map(["test",...], inputfunc, done)', function(done) {
- var tool = tools();
- var externalfunca = function(a) {
- return {
- objectcreatebyletssay: "mysql",
- status: "MAYBE"
- }
- };
- tool.add_filters("test", function(filterarray) {
- filterarray.push(function(inputfunction, cb) {
- cb(null, inputfunction(externalfunca()))
- })
- return filterarray;
- }, 10);
- tool.add_filters("test", function(filterarray) {
- filterarray.push(function(inputfunction, cb) {
- cb(null, inputfunction({
- status: "YES"
- }))
- })
- return filterarray;
- }, 5);
- tool.add_filters("testaa", function(filterarray) {
- filterarray.push(function(inputfunction, cb) {
- cb(null, inputfunction({
- status: "NO"
- }))
- })
- return filterarray;
- }, 5);
- var t = tool.apply_filters_map(["test", "testaa"], function imtheinputfunction(ao) {
- return ao
- }, function(err, result) {
- expect(result).to.be.an('array');
- expect(result.length).to.equal(3);
- expect(result[0]).to.be.an('object');
- expect(result[1].objectcreatebyletssay).to.be.an('string');
- expect(result[1].objectcreatebyletssay).to.equal('mysql');
- done();
- });
- });
- })
- })
|