| changeset 750: |
9730e3812655 |
| parent 748: | 22968807f46e |
| child 751: | 8b3022e641cc |
| author: |
root@kun |
| date: |
Mon Aug 25 10:00:27 2008 +0000 (2 months ago) |
| files: |
jpoker/js/jquery.jpoker.js jpoker/js/test-jpoker.js |
| description: |
add server.getPlayerPlaces |
--- a/jpoker/js/jquery.jpoker.js Thu Aug 21 17:34:26 2008 +0000
+++ b/jpoker/js/jquery.jpoker.js Mon Aug 25 10:00:27 2008 +0000
@@ -525,6 +525,7 @@
TABLE_JOIN: 'joining table',
TOURNEY_REGISTER: 'updating tourney registration',
PERSONAL_INFO: 'getting personal info',
+ PLACES: 'getting player places',
blocked: false,
@@ -843,6 +844,7 @@
this.serial = 0;
this.userInfo = {};
this.preferences = new jpoker.preferences(jpoker.url2hash(this.url));
+ this.places = {};
this.registerHandler(0, this.handler);
if(this.sessionExists()) {
this.reconnect();
@@ -1320,6 +1322,27 @@
return true;
});
});
+ },
+
+ getPlayerPlaces : function() {
+ if (this.loggedIn()) {
+ this.queueRunning(function(server) {
+ server.setState(server.PLACES);
+ server.sendPacket({'type': 'PacketPokerGetPlayerPlaces', 'serial': server.serial});
+ server.registerHandler(0, function(server, unused_game_id, packet) {
+ if (packet.type == 'PacketPokerPlayerPlaces') {
+ server.places.tables = packet.tables;
+ server.places.tourneys = packet.tourneys;
+ server.notifyUpdate(packet);
+ server.setState(server.RUNNING, 'PacketPokerPlayerPlaces');
+ return false;
+ }
+ return true;
+ });
+ });
+ } else {
+ jpoker.dialog(_("User must be logged in"));
+ }
}
});
--- a/jpoker/js/test-jpoker.js Thu Aug 21 17:34:26 2008 +0000
+++ b/jpoker/js/test-jpoker.js Mon Aug 25 10:00:27 2008 +0000
@@ -1076,6 +1076,35 @@
var callback = server.callbacks[0][0];
server.notify(0, {type: 'PacketPing'});
equals(server.callbacks[0][0], callback, 'getPersonalInfo callback still in place');
+ });
+
+test("jpoker.server.getPlayerPlaces", function(){
+ expect(5);
+ stop();
+
+ var serial = 42;
+ var PLAYER_PLACES_PACKET = {type: 'PacketPokerPlayerPlaces', serial: 42, tables:[11, 12, 13], tourneys:[21, 22, 23]};
+
+ var server = jpoker.serverCreate({ url: 'url' });
+
+ server.serial = serial;
+
+ server.sendPacket = function(packet) {
+ equals(packet.type, 'PacketPokerGetPlayerPlaces');
+ equals(packet.serial, serial, 'player serial');
+ equals(server.getState(), server.PLACES);
+ server.queueIncoming([PLAYER_PLACES_PACKET]);
+ };
+ server.registerUpdate(function(server, what, packet) {
+ if (packet.type == 'PacketPokerPlayerPlaces') {
+ equals(server.places.tables[0], 11, 'places.tables');
+ equals(server.places.tourneys[0], 21, 'places.tourneys');
+ server.queueRunning(start_and_cleanup);
+ return false;
+ }
+ return true;
+ });
+ server.getPlayerPlaces();
});
test("jpoker.server.selectTables", function(){