mirror of
https://github.com/wekan/wekan.git
synced 2025-12-28 21:28:49 +01:00
Include to Wekan packages directory contents, so that meteor command would build all directly.
This also simplifies build scripts. Thanks to xet7 !
This commit is contained in:
parent
6117097a93
commit
73e265d8fd
354 changed files with 36977 additions and 106 deletions
297
packages/kadira-flow-router/test/client/triggers.js
Normal file
297
packages/kadira-flow-router/test/client/triggers.js
Normal file
|
|
@ -0,0 +1,297 @@
|
|||
Tinytest.addAsync(
|
||||
'Triggers - runTriggers - run all and after',
|
||||
function(test, done) {
|
||||
var store = [];
|
||||
var triggers = MakeTriggers(2, store);
|
||||
Triggers.runTriggers(triggers, null, null, function() {
|
||||
test.equal(store, [0, 1]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - runTriggers - redirect with url',
|
||||
function(test, done) {
|
||||
var store = [];
|
||||
var url = "http://google.com";
|
||||
var triggers = MakeTriggers(2, store);
|
||||
triggers.splice(1, 0, function(context, redirect) {
|
||||
redirect(url);
|
||||
});
|
||||
|
||||
Triggers.runTriggers(triggers, null, function(u) {
|
||||
test.equal(store, [0]);
|
||||
test.equal(u, url);
|
||||
done();
|
||||
}, null);
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - runTriggers - redirect without url',
|
||||
function(test, done) {
|
||||
var store = [];
|
||||
var url = "http://google.com";
|
||||
var triggers = MakeTriggers(2, store);
|
||||
triggers.splice(1, 0, function(context, redirect) {
|
||||
try {
|
||||
redirect();
|
||||
} catch(ex) {
|
||||
test.isTrue(/requires an URL/.test(ex.message));
|
||||
test.equal(store, [0]);
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
Triggers.runTriggers(triggers, null, null, null);
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - runTriggers - redirect in a different event loop',
|
||||
function(test, done) {
|
||||
var store = [];
|
||||
var url = "http://google.com";
|
||||
var triggers = MakeTriggers(2, store);
|
||||
var doneCalled = false;
|
||||
|
||||
triggers.splice(1, 0, function(context, redirect) {
|
||||
setTimeout(function() {
|
||||
try {
|
||||
redirect(url);
|
||||
} catch(ex) {
|
||||
test.isTrue(/sync/.test(ex.message));
|
||||
test.equal(store, [0, 1]);
|
||||
test.isTrue(doneCalled);
|
||||
done();
|
||||
}
|
||||
}, 0);
|
||||
});
|
||||
|
||||
Triggers.runTriggers(triggers, null, null, function() {
|
||||
doneCalled = true;
|
||||
});
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - runTriggers - redirect called multiple times',
|
||||
function(test, done) {
|
||||
var store = [];
|
||||
var url = "http://google.com";
|
||||
var triggers = MakeTriggers(2, store);
|
||||
var redirectCalled = false;
|
||||
|
||||
triggers.splice(1, 0, function(context, redirect) {
|
||||
redirect(url);
|
||||
try {
|
||||
redirect(url);
|
||||
} catch(ex) {
|
||||
test.isTrue(/already redirected/.test(ex.message));
|
||||
test.equal(store, [0]);
|
||||
test.isTrue(redirectCalled);
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
Triggers.runTriggers(triggers, null, function() {
|
||||
redirectCalled = true;
|
||||
}, null);
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - runTriggers - stop callback',
|
||||
function(test, done) {
|
||||
var store = [];
|
||||
var triggers = MakeTriggers(2, store);
|
||||
triggers.splice(1, 0, function(context, redirect, stop) {
|
||||
stop();
|
||||
});
|
||||
|
||||
Triggers.runTriggers(triggers, null, null, function() {
|
||||
store.push(2);
|
||||
});
|
||||
|
||||
test.equal(store, [0]);
|
||||
done();
|
||||
});
|
||||
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - runTriggers - get context',
|
||||
function(test, done) {
|
||||
var context = {};
|
||||
var trigger = function(c) {
|
||||
test.equal(c, context);
|
||||
done();
|
||||
};
|
||||
|
||||
Triggers.runTriggers([trigger], context, function() {}, function() {});
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - createRouteBoundTriggers - matching trigger',
|
||||
function(test, done) {
|
||||
var context = {route: {name: "abc"}};
|
||||
var redirect = function() {};
|
||||
|
||||
var trigger = function(c, r) {
|
||||
test.equal(c, context);
|
||||
test.equal(r, redirect);
|
||||
done();
|
||||
};
|
||||
|
||||
var triggers = Triggers.createRouteBoundTriggers([trigger], ["abc"]);
|
||||
triggers[0](context, redirect);
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - createRouteBoundTriggers - multiple matching triggers',
|
||||
function(test, done) {
|
||||
var context = {route: {name: "abc"}};
|
||||
var redirect = function() {};
|
||||
var doneCount = 0;
|
||||
|
||||
var trigger = function(c, r) {
|
||||
test.equal(c, context);
|
||||
test.equal(r, redirect);
|
||||
doneCount++;
|
||||
};
|
||||
|
||||
var triggers = Triggers.createRouteBoundTriggers([trigger, trigger], ["abc"]);
|
||||
triggers[0](context, redirect);
|
||||
triggers[1](context, redirect);
|
||||
|
||||
test.equal(doneCount, 2);
|
||||
done();
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - createRouteBoundTriggers - no matching trigger',
|
||||
function(test, done) {
|
||||
var context = {route: {name: "some-other-route"}};
|
||||
var redirect = function() {};
|
||||
var doneCount = 0;
|
||||
|
||||
var trigger = function(c, r) {
|
||||
test.equal(c, context);
|
||||
test.equal(r, redirect);
|
||||
doneCount++;
|
||||
};
|
||||
|
||||
var triggers = Triggers.createRouteBoundTriggers([trigger], ["abc"]);
|
||||
triggers[0](context, redirect);
|
||||
|
||||
test.equal(doneCount, 0);
|
||||
done();
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - createRouteBoundTriggers - negate logic',
|
||||
function(test, done) {
|
||||
var context = {route: {name: "some-other-route"}};
|
||||
var redirect = function() {};
|
||||
var doneCount = 0;
|
||||
|
||||
var trigger = function(c, r) {
|
||||
test.equal(c, context);
|
||||
test.equal(r, redirect);
|
||||
doneCount++;
|
||||
};
|
||||
|
||||
var triggers = Triggers.createRouteBoundTriggers([trigger], ["abc"], true);
|
||||
triggers[0](context, redirect);
|
||||
|
||||
test.equal(doneCount, 1);
|
||||
done();
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - applyFilters - no filters',
|
||||
function(test, done) {
|
||||
var original = [];
|
||||
test.equal(Triggers.applyFilters(original), original);
|
||||
done();
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - applyFilters - single trigger to array',
|
||||
function(test, done) {
|
||||
var original = function() {};
|
||||
test.equal(Triggers.applyFilters(original)[0], original);
|
||||
done();
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - applyFilters - only and except both',
|
||||
function(test, done) {
|
||||
var original = [];
|
||||
try {
|
||||
Triggers.applyFilters(original, {only: [], except: []});
|
||||
} catch(ex) {
|
||||
test.isTrue(/only and except/.test(ex.message));
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - applyFilters - only is not an array',
|
||||
function(test, done) {
|
||||
var original = [];
|
||||
try {
|
||||
Triggers.applyFilters(original, {only: "name"});
|
||||
} catch(ex) {
|
||||
test.isTrue(/to be an array/.test(ex.message));
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - applyFilters - except is not an array',
|
||||
function(test, done) {
|
||||
var original = [];
|
||||
try {
|
||||
Triggers.applyFilters(original, {except: "name"});
|
||||
} catch(ex) {
|
||||
test.isTrue(/to be an array/.test(ex.message));
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - applyFilters - unsupported filter',
|
||||
function(test, done) {
|
||||
var original = [];
|
||||
try {
|
||||
Triggers.applyFilters(original, {wowFilter: []});
|
||||
} catch(ex) {
|
||||
test.isTrue(/not supported/.test(ex.message));
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - applyFilters - just only filter',
|
||||
function(test, done) {
|
||||
var bounded = Triggers.applyFilters(done, {only: ["abc"]});
|
||||
bounded[0]({route: {name: "abc"}});
|
||||
});
|
||||
|
||||
Tinytest.addAsync(
|
||||
'Triggers - applyFilters - just except filter',
|
||||
function(test, done) {
|
||||
var bounded = Triggers.applyFilters(done, {except: ["abc"]});
|
||||
bounded[0]({route: {name: "some-other"}});
|
||||
});
|
||||
|
||||
function MakeTriggers(count, store) {
|
||||
var triggers = [];
|
||||
|
||||
function addTrigger(no) {
|
||||
triggers.push(function() {
|
||||
store.push(no);
|
||||
});
|
||||
}
|
||||
|
||||
for(var lc=0; lc<count; lc++) {
|
||||
addTrigger(lc);
|
||||
}
|
||||
return triggers;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue