6 class PreferencesTest
extends MediaWikiTestCase
{
16 public function __construct() {
17 parent
::__construct();
19 $this->prefUsers
['noemail'] = new User
;
21 $this->prefUsers
['notauth'] = new User
;
22 $this->prefUsers
['notauth']
23 ->setEmail( 'noauth@example.org' );
25 $this->prefUsers
['auth'] = new User
;
26 $this->prefUsers
['auth']
27 ->setEmail( 'noauth@example.org' );
28 $this->prefUsers
['auth']
29 ->setEmailAuthenticationTimestamp( 1330946623 );
31 $this->context
= new RequestContext
;
32 $this->context
->setTitle( Title
::newFromText( 'PreferencesTest' ) );
35 protected function setUp() {
38 $this->setMwGlobals( [
39 'wgEnableEmail' => true,
40 'wgEmailAuthentication' => true,
45 * Placeholder to verify bug 34302
46 * @covers Preferences::profilePreferences
48 public function testEmailAuthenticationFieldWhenUserHasNoEmail() {
49 $prefs = $this->prefsFor( 'noemail' );
50 $this->assertArrayHasKey( 'cssclass',
51 $prefs['emailauthentication']
53 $this->assertEquals( 'mw-email-none', $prefs['emailauthentication']['cssclass'] );
57 * Placeholder to verify bug 34302
58 * @covers Preferences::profilePreferences
60 public function testEmailAuthenticationFieldWhenUserEmailNotAuthenticated() {
61 $prefs = $this->prefsFor( 'notauth' );
62 $this->assertArrayHasKey( 'cssclass',
63 $prefs['emailauthentication']
65 $this->assertEquals( 'mw-email-not-authenticated', $prefs['emailauthentication']['cssclass'] );
69 * Placeholder to verify bug 34302
70 * @covers Preferences::profilePreferences
72 public function testEmailAuthenticationFieldWhenUserEmailIsAuthenticated() {
73 $prefs = $this->prefsFor( 'auth' );
74 $this->assertArrayHasKey( 'cssclass',
75 $prefs['emailauthentication']
77 $this->assertEquals( 'mw-email-authenticated', $prefs['emailauthentication']['cssclass'] );
81 protected function prefsFor( $user_key ) {
83 Preferences
::profilePreferences(
84 $this->prefUsers
[$user_key],