changelog shortlog tags manifest raw

changeset: jpoker.preferences

changeset 740: 052cf6deb1b8
parent 739:d50073381113
child 741:589ce2fe0404
author: root@kun
date: Tue Aug 19 15:17:52 2008 +0000 (3 months ago)
files: jpoker/js/jquery.jpoker.js jpoker/js/test-jpoker.js
description: jpoker.preferences
--- a/jpoker/js/jquery.jpoker.js	Tue Aug 19 14:45:07 2008 +0000
+++ b/jpoker/js/jquery.jpoker.js	Tue Aug 19 15:17:52 2008 +0000
@@ -122,7 +122,6 @@
 
         serverCreate: function(options) {
             this.servers[options.url] = new jpoker.server(options);
-	    jpoker.plugins.preferences.load(jpoker.url2hash(options.url));
             return this.servers[options.url];
         },
 
@@ -843,6 +842,7 @@
                 this.timers = {};
                 this.serial = 0;
                 this.userInfo = {};
+		this.preferences = new jpoker.preferences(jpoker.url2hash(this.url));
                 this.registerHandler(0, this.handler);
                 if(this.sessionExists()) {
                     this.reconnect();
@@ -2944,8 +2944,9 @@
 		    jpoker.plugins.muck.sendAutoMuck(server, game_id, id);
 		});
 
-	    $('#auto_muck_win' + id)[0].checked = jpoker.plugins.preferences.auto_muck_win;
-	    $('#auto_muck_lose' + id)[0].checked = jpoker.plugins.preferences.auto_muck_lose;
+	    var server = jpoker.getServer(url);
+	    $('#auto_muck_win' + id)[0].checked = server.preferences.auto_muck_win;
+	    $('#auto_muck_lose' + id)[0].checked = server.preferences.auto_muck_lose;
 	    var server = jpoker.getServer(url);
 	    jpoker.plugins.muck.sendAutoMuck(server, game_id, id);
 	    
@@ -3357,22 +3358,21 @@
 		auto_muck |= jpoker.plugins.muck.AUTO_MUCK_LOSE;
 	    }
 	    server.sendPacket({type: 'PacketPokerAutoMuck', serial: server.serial, game_id: game_id, auto_muck: auto_muck});
-	    jpoker.plugins.preferences.extend({auto_muck_win: $('#auto_muck_win' + id).is(':checked'), auto_muck_lose: $('#auto_muck_lose' + id).is(':checked')});
+	    server.preferences.extend({auto_muck_win: $('#auto_muck_win' + id).is(':checked'), auto_muck_lose: $('#auto_muck_lose' + id).is(':checked')});
 	}
     };
 
-    jpoker.plugins.preferences = {
-	load: function(hash) {
+    jpoker.preferences = function(hash) {
 	    var cookie = 'jpoker_preferences_'+hash;
 	    if ($.cookie(cookie)) {
-		$.extend(jpoker.plugins.preferences, JSON.parse($.cookie(cookie)));
+		$.extend(this, JSON.parse($.cookie(cookie)));
 	    }
-	    jpoker.plugins.preferences.cookie = function() { return cookie; }
-	},
-	extend: function(preferences) {
-	    $.extend(jpoker.plugins.preferences, preferences);
-	    $.cookie(jpoker.plugins.preferences.cookie(), JSON.stringify(jpoker.plugins.preferences));
-	},
+	    this.extend = function(preferences) {
+		$.extend(this, preferences);
+		$.cookie(cookie, JSON.stringify(this));
+	    };
+    };
+    jpoker.preferences.prototype = {
 	auto_muck_win: true,
 	auto_muck_lose: true
     };
--- a/jpoker/js/test-jpoker.js	Tue Aug 19 14:45:07 2008 +0000
+++ b/jpoker/js/test-jpoker.js	Tue Aug 19 15:17:52 2008 +0000
@@ -76,7 +76,7 @@
         delete ActiveXObject.prototype.server;
     }
     jpoker.uninit();
-    $.cookie('jpoker_preferences', null);
+    $.cookie('jpoker_preferences_'+jpoker.url2hash('url'), null);
 };
 
 var start_and_cleanup = function(id) {
@@ -4205,24 +4205,39 @@
     });
 
 test("jpoker.plugins.muck", function(){
-        expect(30);
+        expect(27);
+
+	var place = $("#main");
 
         var id = 'jpoker' + jpoker.serial;
         var player_serial = 1;
         var game_id = 100;
         var money = 1000;
 
-	jpoker.plugins.preferences.extend({auto_muck_win: false,
-					   auto_muck_lose: false});
 	var sendAutoMuck = jpoker.plugins.muck.sendAutoMuck;
 	jpoker.plugins.muck.sendAutoMuck = function() {
 	    ok(true, 'sendAutoMuck called');
 	};
-        _SelfPlayerSit(game_id, player_serial, money);
+
+	var server = jpoker.serverCreate({ url: 'url' });
+	server.preferences.extend({auto_muck_win: false,
+		                   auto_muck_lose: false});
+	var currency_serial = 42;
+	table_packet = { id: game_id, currency_serial: currency_serial };
+	server.tables[game_id] = new jpoker.table(server, table_packet);
+
+	// table
+	place.jpoker('table', 'url', game_id);
+
+
+	// player
+	server.serial = player_serial;
+	var player_seat = 2;
+	server.tables[game_id].handler(server, game_id, { type: 'PacketPokerPlayerArrive', seat: player_seat, serial: player_serial, game_id: game_id });
+	var player = server.tables[game_id].serial2player[player_serial];
+
 	jpoker.plugins.muck.sendAutoMuck = sendAutoMuck;
 
-        var server = jpoker.getServer('url');
-        var player = jpoker.getPlayer('url', game_id, player_serial);
         var table = server.tables[game_id];
 	
 	var muck_accept_element = $("#muck_accept" + id);
@@ -4245,8 +4260,8 @@
 	var auto_muck_lose = $('#auto_muck_lose' + id);
 	equals(auto_muck_win.attr('type'), 'checkbox', '#auto_muck_win checkbox');
 	equals(auto_muck_lose.attr('type'), 'checkbox', '#auto_muck_win checkbox');
-	equals(auto_muck_win.is(':checked'), jpoker.plugins.preferences.auto_muck_win, '#auto_muck_win checked preferences');
-	equals(auto_muck_lose.is(':checked'), jpoker.plugins.preferences.auto_muck_lose, '#auto_muck_lose checked preferences');
+	equals(auto_muck_win.is(':checked'), false, '#auto_muck_win checked preferences');
+	equals(auto_muck_lose.is(':checked'), false, '#auto_muck_lose checked preferences');
 	
 	server.sendPacket = function() {};
 	auto_muck_win.click();
@@ -4279,8 +4294,8 @@
 	auto_muck_win[0].checked = true;
 	auto_muck_lose[0].checked = true;
 	jpoker.plugins.muck.sendAutoMuck(server, game_id, id);
-	equals(jpoker.plugins.preferences.auto_muck_win, true, 'jpoker.plugins.preferences.auto_muck_win updated');
-	equals(jpoker.plugins.preferences.auto_muck_lose, true, 'jpoker.plugins.preferences.auto_muck_lose updated');
+	equals(server.preferences.auto_muck_win, true, 'server.preferences.auto_muck_win updated');
+	equals(server.preferences.auto_muck_lose, true, 'server.preferences.auto_muck_lose updated');
 
         table.handler(server, game_id, { type: 'PacketPokerMuckRequest', serial: player_serial, game_id: game_id, muckable_serials: [player_serial] });
 	equals($("#muck_accept" + id).is(':visible'), true, 'muck accept visible');
@@ -4303,27 +4318,34 @@
         cleanup(id);
     });
 
-test("jpoker.plugins.preferences", function() {
-	expect(5);
-	
-        var server = jpoker.serverCreate({ url: 'url' });
+test("jpoker.preferences", function() {
+	expect(4);
+	
 	var hash = jpoker.url2hash('url');
-	equals(jpoker.plugins.preferences.cookie(), 'jpoker_preferences_'+hash, 'jpoker.plugins.preferences.cookie');
-
 	$.cookie('jpoker_preferences_'+hash, '{"a": 1}');
-	jpoker.plugins.preferences.load(hash);
-	equals(jpoker.plugins.preferences.a, 1, 'jpoker.plugins.preferences.a');
-	jpoker.plugins.preferences.extend({'b': 2, 'c': 3});
-	equals(jpoker.plugins.preferences.b, 2, 'jpoker.plugins.preferences.b');
-	equals(jpoker.plugins.preferences.c, 3, 'jpoker.plugins.preferences.c');
-	equals($.cookie('jpoker_preferences_'+hash), JSON.stringify(jpoker.plugins.preferences), 'cookie updated');
-	cleanup();
-    });
-
-test("jpoker.plugins.preferences defaults values", function() {
-	expect(2);
-	equals(jpoker.plugins.preferences.auto_muck_win, true);
-	equals(jpoker.plugins.preferences.auto_muck_lose, true);
+	var preferences = new jpoker.preferences(hash);
+	equals(preferences.a, 1, 'jpoker.preferences.a');
+	preferences.extend({'b': 2, 'c': 3});
+	equals(preferences.b, 2, 'jpoker.preferences.b');
+	equals(preferences.c, 3, 'jpoker.preferences.c');
+	equals($.cookie('jpoker_preferences_'+hash), JSON.stringify(preferences), 'cookie updated');
+	cleanup();
+    });
+
+test("jpoker.preferences defaults values", function() {
+	expect(2);
+
+	equals(jpoker.preferences.prototype.auto_muck_win, true);
+	equals(jpoker.preferences.prototype.auto_muck_lose, true);
+	cleanup();
+    });
+
+test("jpoker.preferences in jpoker.server", function() {
+	expect(1);
+	var hash = jpoker.url2hash('url');
+	$.cookie('jpoker_preferences_'+hash, '{"a": 1}');
+	var server = jpoker.serverCreate({ url:'url' });
+	equals(server.preferences.a, 1, 'server.preferences.a');
 	cleanup();
     });