1
0
mirror of https://github.com/exane/not-gwent-online synced 2025-08-06 20:53:36 +00:00

fix morale boost + improved events

This commit is contained in:
exane
2015-06-19 21:53:48 +02:00
parent 2c307a4fb8
commit 730e8f714a
9 changed files with 957 additions and 196 deletions

@@ -1,96 +1,98 @@
describe("pubsub", function() {
var battle;
var Battle = require("../../server/Battle");
var Card = require("../../server/Card");
var data = require("../../assets/data/abilities");
beforeEach(function() {
battle = Battle();
describe("pubsub", function(){
var battle, card1, card2;
beforeEach(function(){
battle = {};
battle.runEvent = Battle.prototype.runEvent;
battle.on = Battle.prototype.on;
battle.off = Battle.prototype.off;
battle.events = {};
battle.update = function() {};
card1 = Card("kaedweni_siege_expert");
card2 = Card("dun_banner_medic");
});
it("on: has correct arguments", function() {
it("on: has correct arguments", function(){
//this.on("EachTurn", ability.onEachTurn, this, [card])
var CARD = {
_id: 1,
_name: "cardy"
}
battle.on("EachTurn", function(card) {
expect(card).toEqual(CARD);
}, this, [CARD]);
battle.on("EachTurn", function(card){
expect(card).toEqual(card1);
}, this, [card1]);
battle.runEvent("EachTurn");
})
it("runEvent: has correct arguments", function() {
//this.on("EachTurn", ability.onEachTurn, this, [card])
var CARD = {
_id: 1,
_name: "cardy"
}
battle.on("EachTurn", function(card) {
expect(card).toEqual(CARD);
})
it("runEvent: has correct arguments", function(){
//this.on("EachTurn", ability.onEachTurn, this, [card])
battle.on("EachTurn", function(c){
expect(c).toEqual(card1);
});
battle.runEvent("EachTurn", null, [CARD]);
battle.runEvent("EachTurn", null, [card1]);
})
it("on + runEvent: has correct arguments", function() {
it("on + runEvent: has correct arguments", function(){
//this.on("EachTurn", ability.onEachTurn, this, [card])
var CARD = {
_id: 1,
_name: "cardy"
}
var CARD2 = {
_id: 2,
_name: "cardooo"
}
battle.on("EachTurn", function(card1, card2) {
expect(card1).toEqual(CARD);
expect(card2).toEqual(CARD2);
}, null, [CARD]);
battle.runEvent("EachTurn", null, [CARD2]);
battle.on("EachTurn", function(c1, c2){
expect(c1).toEqual(card1);
expect(c2).toEqual(card2);
}, null, [card1]);
battle.runEvent("EachTurn", null, [card2]);
})
it("test context", function() {
//this.on("EachTurn", ability.onEachTurn, this, [card])
var Card = function(id, name){
this.id = id;
this.name = name;
}
var card1 = new Card(1, "cardy");
var card2 = new Card(2, "cardoo");
it("test context", function(){
battle.on("EachTurn", function(card) {
battle.on("EachTurn", function(card){
expect(card.id).toEqual(card1.id);
expect(this.id).toEqual(card2.id);
}, card2, [card1]);
battle.runEvent("EachTurn");
})
it("test context", function() {
//this.on("EachTurn", ability.onEachTurn, this, [card])
var Card = function(id, name){
this.id = id;
this.name = name;
}
var card1 = new Card(1, "cardy");
var card2 = new Card(2, "cardoo");
it("test context", function(){
battle.on("EachTurn", function(card) {
battle.on("EachTurn", function(card){
expect(card.id).toEqual(card1.id);
expect(this.id).toEqual(card2.id);
}, null, [card1]);
battle.runEvent("EachTurn", card2);
})
it("test context", function() {
//this.on("EachTurn", ability.onEachTurn, this, [card])
var Card = function(id, name){
this.id = id;
this.name = name;
}
var card1 = new Card(1, "cardy");
var card2 = new Card(2, "cardoo");
it("test context", function(){
battle.on("EachTurn", function(card) {
battle.on("EachTurn", function(card){
expect(card.id).toEqual(card1.id);
expect(this.id).toEqual(card1.id);
}, card1, [card1]);
battle.runEvent("EachTurn", card2);
})
it("should handle off correctly", function() {
var cb1 = function(){}, cb2 = function() {};
var obj = {
cb1: cb1,
cb2: cb2
}
spyOn(obj, "cb1");
spyOn(obj, "cb2");
var uid1 = battle.on("EachCardPlace", obj.cb1, battle, [card1]);
var uid2 = battle.on("EachCardPlace", obj.cb2, battle, [card2]);
battle.off("EachCardPlace", uid2);
battle.runEvent("EachCardPlace");
expect(obj.cb1).toHaveBeenCalled();
expect(obj.cb2).not.toHaveBeenCalled();
/*battle.off("EachCardPlace", uid1);
expect(battle.events).toEqual({});*/
})
});

@@ -1,4 +1,5 @@
require("./filterSpec");
require("./PubSubSpec");
(function main(){