MediaWiki
REL1_21
|
00001 <?php 00002 00006 class PreferencesTest extends MediaWikiTestCase { 00008 private $prefUsers; 00009 private $context; 00010 00011 function __construct() { 00012 parent::__construct(); 00013 00014 $this->prefUsers['noemail'] = new User; 00015 00016 $this->prefUsers['notauth'] = new User; 00017 $this->prefUsers['notauth'] 00018 ->setEmail( '[email protected]' ); 00019 00020 $this->prefUsers['auth'] = new User; 00021 $this->prefUsers['auth'] 00022 ->setEmail( '[email protected]' ); 00023 $this->prefUsers['auth'] 00024 ->setEmailAuthenticationTimestamp( 1330946623 ); 00025 00026 $this->context = new RequestContext; 00027 $this->context->setTitle( Title::newFromText( 'PreferencesTest' ) ); 00028 } 00029 00030 protected function setUp() { 00031 parent::setUp(); 00032 00033 $this->setMwGlobals( 'wgEnableEmail', true ); 00034 } 00035 00040 function testEmailFieldsWhenUserHasNoEmail() { 00041 $prefs = $this->prefsFor( 'noemail' ); 00042 $this->assertArrayHasKey( 'cssclass', 00043 $prefs['emailaddress'] 00044 ); 00045 $this->assertEquals( 'mw-email-none', $prefs['emailaddress']['cssclass'] ); 00046 } 00047 00052 function testEmailFieldsWhenUserEmailNotAuthenticated() { 00053 $prefs = $this->prefsFor( 'notauth' ); 00054 $this->assertArrayHasKey( 'cssclass', 00055 $prefs['emailaddress'] 00056 ); 00057 $this->assertEquals( 'mw-email-not-authenticated', $prefs['emailaddress']['cssclass'] ); 00058 } 00059 00064 function testEmailFieldsWhenUserEmailIsAuthenticated() { 00065 $prefs = $this->prefsFor( 'auth' ); 00066 $this->assertArrayHasKey( 'cssclass', 00067 $prefs['emailaddress'] 00068 ); 00069 $this->assertEquals( 'mw-email-authenticated', $prefs['emailaddress']['cssclass'] ); 00070 } 00071 00073 function prefsFor( $user_key ) { 00074 $preferences = array(); 00075 Preferences::profilePreferences( 00076 $this->prefUsers[$user_key] 00077 , $this->context 00078 , $preferences 00079 ); 00080 return $preferences; 00081 } 00082 }