3 class PreferencesTest
extends MediaWikiTestCase
{
4 /** Array of User objects */
8 function __construct() {
11 $this->prefUsers
['noemail'] = new User
;
13 $this->prefUsers
['notauth'] = new User
;
14 $this->prefUsers
['notauth']
15 ->setEmail( 'noauth@example.org' );
17 $this->prefUsers
['auth'] = new User
;
18 $this->prefUsers
['auth']
19 ->setEmail( 'noauth@example.org' );
20 $this->prefUsers
['auth']
21 ->setEmailAuthenticationTimestamp( 1330946623 );
23 $this->context
= new RequestContext
;
24 $this->context
->setTitle( Title
::newFromText('PreferencesTest') );
27 protected function setUp() {
30 $this->setMwGlobals( 'wgEnableEmail', true );
34 * Placeholder to verify bug 34302
35 * @covers Preferences::profilePreferences
37 function testEmailFieldsWhenUserHasNoEmail() {
38 $prefs = $this->prefsFor( 'noemail' );
39 $this->assertArrayHasKey( 'cssclass',
40 $prefs['emailaddress']
42 $this->assertEquals( 'mw-email-none', $prefs['emailaddress']['cssclass'] );
45 * Placeholder to verify bug 34302
46 * @covers Preferences::profilePreferences
48 function testEmailFieldsWhenUserEmailNotAuthenticated() {
49 $prefs = $this->prefsFor( 'notauth' );
50 $this->assertArrayHasKey( 'cssclass',
51 $prefs['emailaddress']
53 $this->assertEquals( 'mw-email-not-authenticated', $prefs['emailaddress']['cssclass'] );
56 * Placeholder to verify bug 34302
57 * @covers Preferences::profilePreferences
59 function testEmailFieldsWhenUserEmailIsAuthenticated() {
60 $prefs = $this->prefsFor( 'auth' );
61 $this->assertArrayHasKey( 'cssclass',
62 $prefs['emailaddress']
64 $this->assertEquals( 'mw-email-authenticated', $prefs['emailaddress']['cssclass'] );
68 function prefsFor( $user_key ) {
69 $preferences = array();
70 Preferences
::profilePreferences(
71 $this->prefUsers
[$user_key]