changelog shortlog tags manifest raw

changeset: add server.getPlayerPlaces

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(){