MediaWiki
master
|
00001 <?php 00002 00003 class PreferencesTest extends MediaWikiTestCase { 00005 private $prefUsers; 00006 private $context; 00007 00008 function __construct() { 00009 parent::__construct(); 00010 00011 $this->prefUsers['noemail'] = new User; 00012 00013 $this->prefUsers['notauth'] = new User; 00014 $this->prefUsers['notauth'] 00015 ->setEmail( '[email protected]' ); 00016 00017 $this->prefUsers['auth'] = new User; 00018 $this->prefUsers['auth'] 00019 ->setEmail( '[email protected]' ); 00020 $this->prefUsers['auth'] 00021 ->setEmailAuthenticationTimestamp( 1330946623 ); 00022 00023 $this->context = new RequestContext; 00024 $this->context->setTitle( Title::newFromText('PreferencesTest') ); 00025 } 00026 00027 protected function setUp() { 00028 parent::setUp(); 00029 00030 $this->setMwGlobals( 'wgEnableEmail', true ); 00031 } 00032 00037 function testEmailFieldsWhenUserHasNoEmail() { 00038 $prefs = $this->prefsFor( 'noemail' ); 00039 $this->assertArrayHasKey( 'cssclass', 00040 $prefs['emailaddress'] 00041 ); 00042 $this->assertEquals( 'mw-email-none', $prefs['emailaddress']['cssclass'] ); 00043 } 00048 function testEmailFieldsWhenUserEmailNotAuthenticated() { 00049 $prefs = $this->prefsFor( 'notauth' ); 00050 $this->assertArrayHasKey( 'cssclass', 00051 $prefs['emailaddress'] 00052 ); 00053 $this->assertEquals( 'mw-email-not-authenticated', $prefs['emailaddress']['cssclass'] ); 00054 } 00059 function testEmailFieldsWhenUserEmailIsAuthenticated() { 00060 $prefs = $this->prefsFor( 'auth' ); 00061 $this->assertArrayHasKey( 'cssclass', 00062 $prefs['emailaddress'] 00063 ); 00064 $this->assertEquals( 'mw-email-authenticated', $prefs['emailaddress']['cssclass'] ); 00065 } 00066 00068 function prefsFor( $user_key ) { 00069 $preferences = array(); 00070 Preferences::profilePreferences( 00071 $this->prefUsers[$user_key] 00072 , $this->context 00073 , $preferences 00074 ); 00075 return $preferences; 00076 } 00077 }