1
0
mirror of https://github.com/exane/not-gwent-online synced 2024-11-20 11:26:54 +00:00

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); 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){ else if(card.getProperty(prop) !== val){
res.push(card); res.push(card);
} }

View File

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