From e99f5cf1703599bd16dfade56b1c802117690de3 Mon Sep 17 00:00:00 2001 From: "Amir E. Aharoni" Date: Mon, 7 Jan 2013 17:49:39 +0200 Subject: [PATCH] Preferences tests This is a basic test that checks the writing preferences does not result in an error. It depends on I8fdc1a05 and I18a5ffb5. It is very rudimentary: The saving test only checks that the API call didn't result in an error. It should be enough to check for bug 41763, but it doesn't really check that the options were written correctly. It also doesn't do anything to distinguish anonymous and logged-in users, the preferences for which work differently. Change-Id: I417089eea64e8a84bd38a00bbb31cbb77dc5bd68 --- tests/qunit/ext.uls.tests.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/qunit/ext.uls.tests.js b/tests/qunit/ext.uls.tests.js index 5bfddb27..c3733a0f 100644 --- a/tests/qunit/ext.uls.tests.js +++ b/tests/qunit/ext.uls.tests.js @@ -35,4 +35,37 @@ // its direction cannot be acquired using the langdb utils. strictEqual( $.uls.data.getDir( 'als' ), 'ltr', 'The direction of custom MW language als is ltr.' ); } ); + + test( '-- User preferences', function () { + expect( 2 ); + + // 'gofanim' means "fonts" in Hebrew. + // Here it's used as a meaningless word, to test + // the preferences without changing anything useful. + var prefName = 'gofanim', + prefs = mw.uls.preferences(), + prefsToSave = {}, + readPrefs; + + prefsToSave[prefName] = { + 'fonts': { + 'qqy': 'Megafont' + }, + 'webfonts-enabled': true + }; + + prefs.set( prefName, prefsToSave ); + stop(); + prefs.save( function ( successSave ) { + start(); + ok( successSave, 'Options saving API did not produce an error.' ); + } ); + + readPrefs = prefs.get( prefName ); + strictEqual( readPrefs[prefName].fonts.qqy, 'Megafont', 'Correct value for the font name' ); + + // Delete old options + prefs.set( prefName, undefined ); + prefs.save(); + } ); }( jQuery ) );