| changeset 754: |
f5dc072d2772 |
| parent 753: | 177e5c2eff10 |
| child 755: | 098397297de8 |
| author: |
root@kun |
| date: |
Mon Aug 25 16:35:30 2008 +0000 (2 months ago) |
| files: |
jpoker/js/jquery.jpoker.js jpoker/js/test-jpoker.js |
| description: |
add jpoker.table.poll |
--- a/jpoker/js/jquery.jpoker.js Mon Aug 25 12:10:20 2008 +0000
+++ b/jpoker/js/jquery.jpoker.js Mon Aug 25 16:35:30 2008 +0000
@@ -1359,6 +1359,7 @@
this.url = server.url;
this.init();
server.registerHandler(packet.id, this.handler);
+ this.poll();
};
jpoker.table.defaults = {
@@ -1399,7 +1400,20 @@
this.dealer = -1;
this.position = -1;
this.state = 'end';
+ jpoker.getServer(this.url).clearTimeout(this.pollTimer);
+ this.pollTimer = -1;
+ this.pollFrequency = 1000;
},
+
+ poll: function() {
+ var server = jpoker.getServer(this.url);
+ server.sendPacket({type: 'PacketPokerPoll',
+ game_id: this.game_id});
+ var $this = this;
+ this.pollTimer = server.setTimeout(function() {
+ $this.poll();
+ }, this.pollFrequency);
+ },
buyInLimits: function() {
var max = Math.min(this.buyIn.max, this.buyIn.bankroll);
--- a/jpoker/js/test-jpoker.js Mon Aug 25 12:10:20 2008 +0000
+++ b/jpoker/js/test-jpoker.js Mon Aug 25 16:35:30 2008 +0000
@@ -1660,6 +1660,39 @@
equals(tourney.is_tourney, true);
});
+
+test("jpoker.table.poll", function() {
+ expect(6);
+ var server = jpoker.serverCreate({ url: 'url' });
+ server.sendPacket = function(packet) {
+ equals(packet.type, "PacketPokerPoll");
+ };
+ var callback;
+ server.setTimeout = function(f) {
+ callback = f;
+ return 42;
+ };
+ var table = new jpoker.table(server, {"type": "PacketPokerTable", "id": 101, "betting_structure": "15-30-no-limit"});
+ equals(table.pollTimer, 42, 'pollTimer set');
+
+ server.clearTimeout = function(timer) {
+ equals(timer, 42, "clearTimeout called by poll")
+ };
+ callback();
+
+ table.poll = function() {
+ ok(true, "poll called by timeout callback");
+ };
+ callback();
+
+ server.clearTimeout = function(timer) {
+ ok(true, "clearTimeout called by uninit")
+ };
+ table.uninit();
+ equals(table.pollTimer, -1, 'pollTimer cleared by uninit');
+ server.clearTimeout = function() {};
+ cleanup();
+ });
test("jpoker.table.handler: PacketPokerState", function(){
expect(1);