extend filter

This commit is contained in:
exane 2015-06-23 15:00:49 +02:00
parent aec5bd5d02
commit eb767ac0bb
2 changed files with 34 additions and 5 deletions

View File

@ -586,6 +586,18 @@ Battleside = (function(){
res.push(card);
}
}
else if(_.isArray(val)) {
var _f = false;
for(var i = 0; i < val.length; i++) {
if(property === val[i]){
_f = true;
break;
}
}
if(!_f){
res.push(card);
}
}
else if(card.getProperty(prop) !== val){
res.push(card);
}

View File

@ -5,20 +5,22 @@ var data = require("../../assets/data/abilities");
describe("filter", function(){
var card, side, filter, cards;
beforeEach(function(){
filter = Battleside.prototype.filter;
cards = [];
cards.push(Card("iorveth"));
cards.push(Card("toruviel"));
cards.push(Card("isengrim_faoiltiarnah"));
cards.push(Card("decoy"));
cards.push(Card("iorveth")); //hero
cards.push(Card("toruviel")); //normal
cards.push(Card("isengrim_faoiltiarnah")); //hero
cards.push(Card("decoy")); //special
cards.push(Card("impenetrable_fog")); //special
})
it("it should filter heroes out", function(){
var res = filter(cards, {
"ability": "hero"
})
expect(res.length).toBe(2);
expect(res.length).toBe(3);
})
it("it should filter hero and special cards out", function(){
@ -26,6 +28,21 @@ describe("filter", function(){
"ability": "hero",
"type": Card.TYPE.SPECIAL
})
expect(res.length).toBe(2);
})
it("it should filter 2 types out", function(){
var res = filter(cards, {
"type": [Card.TYPE.SPECIAL, Card.TYPE.WEATHER]
})
expect(res.length).toBe(3);
})
it("it should filter 2 types and hero out", function(){
var res = filter(cards, {
"ability": "hero",
"type": [Card.TYPE.SPECIAL, Card.TYPE.WEATHER]
})
expect(res.length).toBe(1);
})