createMock( HookContainer::class ), $this->createMock( UserFactory::class ), $this->createMock( UserNameUtils::class ) ); } /** * @covers ::get * @covers ::getAll * @covers ::setMultiple */ public function testSettersAndGetters() { $options = $this->newSkinOptions(); $defaultValue = $options->get( SkinOptions::BETA_MODE ); $options->setMultiple( [ SkinOptions::BETA_MODE => !$defaultValue ] ); $allOptions = $options->getAll(); $this->assertEquals( !$defaultValue, $options->get( SkinOptions::BETA_MODE ) ); $this->assertArrayHasKey( SkinOptions::BETA_MODE, $allOptions ); $this->assertEquals( !$defaultValue, $allOptions[ SkinOptions::BETA_MODE ] ); } /** * @covers ::hasSkinOptions */ public function testHasSkinOptions() { $options = $this->newSkinOptions(); $this->assertTrue( $options->hasSkinOptions() ); $options->setMultiple( [ SkinOptions::SHOW_DONATE => false, SkinOptions::TALK_AT_TOP => false, SkinOptions::HISTORY_IN_PAGE_ACTIONS => false, SkinOptions::TOOLBAR_SUBMENU => false, SkinOptions::MAIN_MENU_EXPANDED => false, SkinOptions::PERSONAL_MENU => false, SkinOptions::TABS_ON_SPECIALS => false, ] ); $this->assertFalse( $options->hasSkinOptions() ); } /** * @covers ::get */ public function testGettingUnknownKeyShouldThrowException() { $options = $this->newSkinOptions(); $this->expectException( OutOfBoundsException::class ); $options->get( 'non_existing_key' ); } /** * @covers ::get */ public function testSettingUnknownKeyShouldThrowException() { $options = $this->newSkinOptions(); $this->expectException( OutOfBoundsException::class ); $options->setMultiple( [ 'non_existing_key' => 1 ] ); } }