|
@@ -0,0 +1,186 @@
|
|
|
|
+ var tools = require("../tools2");
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ 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',
|
|
|
|
+ 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', 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', 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', 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 sorted', function(done) {
|
|
|
|
+ var tool = tools();
|
|
|
|
+ tool.add_filters("test", function(a) {
|
|
|
|
+ a.push(function(b, cb) {
|
|
|
|
+ console.log("LLL", arguments);
|
|
|
|
+ cb(null, b())
|
|
|
|
+ })
|
|
|
|
+ return a;
|
|
|
|
+ }, 10);
|
|
|
|
+ tool.add_filters("test", function(a) {
|
|
|
|
+ a.push(function(b, cb) {
|
|
|
|
+ console.log("oooo", arguments);
|
|
|
|
+ cb(null, b())
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ return a;
|
|
|
|
+ }, 5);
|
|
|
|
+ tool.add_filters("testaa", function(a) {
|
|
|
|
+ a.push(function(b, cb) {
|
|
|
|
+ console.log("aaa", arguments);
|
|
|
|
+ cb(null, b())
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ return a;
|
|
|
|
+ }, 5);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ var t = tool.apply_filters_map(["test","testaa"],function(ao){
|
|
|
|
+ console.log("OOOOOAAA",ao)
|
|
|
|
+
|
|
|
|
+ }, function(err, result) {
|
|
|
|
+ console.log("JJJJJJJJJJJJ", arguments);
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+ console.log(t);
|
|
|
|
+
|
|
|
|
+ expect(t).to.be.an('array');
|
|
|
|
+ expect(t.length).to.equal(2);
|
|
|
|
+ expect(t[0]).to.equal("test2");
|
|
|
|
+ done();
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ })
|