Page MenuHomeWickedGov Phorge

DeprecatedHooksTest.php
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

DeprecatedHooksTest.php

<?php
namespace MediaWiki\Tests\HookContainer;
use MediaWiki\HookContainer\DeprecatedHooks;
use MediaWikiUnitTestCase;
use Wikimedia\TestingAccessWrapper;
class DeprecatedHooksTest extends MediaWikiUnitTestCase {
/**
* @covers \MediaWiki\HookContainer\DeprecatedHooks::__construct
* @covers \MediaWiki\HookContainer\DeprecatedHooks::isHookDeprecated
*/
public function testIsHookDeprecated() {
$extDeprecatedHooks = [
'FooBaz' => [ 'deprecatedVersion' => '1.35', 'component' => 'ComponentFooBaz' ]
];
$deprecatedHooks = new DeprecatedHooks( $extDeprecatedHooks );
$this->assertTrue( $deprecatedHooks->isHookDeprecated( 'FooBaz' ) );
$this->assertFalse( $deprecatedHooks->isHookDeprecated( 'FooBazBar' ) );
}
/**
* @covers \MediaWiki\HookContainer\DeprecatedHooks::markDeprecated
*/
public function testMarkDeprecatedException() {
$extDeprecatedHooks = [
'FooBaz' => [ 'deprecatedVersion' => '1.35', 'component' => 'ComponentFooBaz' ]
];
$deprecatedHooks = new DeprecatedHooks( $extDeprecatedHooks );
$this->expectExceptionMessage(
"Cannot mark hook 'FooBaz' deprecated with version 1.31. " .
"It is already marked deprecated with version 1.35"
);
$deprecatedHooks->markDeprecated( 'FooBaz', '1.31' );
}
/**
* @covers \MediaWiki\HookContainer\DeprecatedHooks::markDeprecated
*/
public function testMarkDeprecated() {
$deprecatedHooks = new DeprecatedHooks();
$deprecatedHooks->markDeprecated( 'FooBaz', '1.31', 'ComponentFooBaz' );
$allDeprecated = $deprecatedHooks->getDeprecationInfo();
$this->assertArrayHasKey( 'FooBaz', $allDeprecated );
$this->assertEquals(
[
'deprecatedVersion' => '1.31',
'component' => 'ComponentFooBaz',
'silent' => false
],
$allDeprecated['FooBaz']
);
}
/**
* @covers \MediaWiki\HookContainer\DeprecatedHooks::getDeprecationInfo
*/
public function testGetDeprecationInfo() {
$extDeprecatedHooks = [
'FooBar' => [ 'deprecatedVersion' => '1.21', 'component' => 'ComponentFooBar' ],
'FooBarBaz' => [ 'deprecatedVersion' => '1.21' ],
'SoftlyDeprecated' => [
'deprecatedVersion' => '1.21',
'component' => 'ComponentFooBar',
'silent' => true
]
];
$deprecatedHooksWrapper = TestingAccessWrapper::newFromObject( new DeprecatedHooks() );
$preRegisteredDeprecated = $deprecatedHooksWrapper->deprecatedHooks;
$deprecatedHooks = new DeprecatedHooks( $extDeprecatedHooks );
$hookDeprecationInfo = $deprecatedHooks->getDeprecationInfo( 'FooBar' );
$this->assertNull( $deprecatedHooks->getDeprecationInfo( 'FooBazBaz' ) );
$this->assertEquals(
[
'deprecatedVersion' => '1.21',
'component' => 'ComponentFooBar',
'silent' => false,
],
$hookDeprecationInfo
);
$this->assertEquals(
[
'deprecatedVersion' => '1.21',
'component' => 'ComponentFooBar',
'silent' => true,
],
$deprecatedHooks->getDeprecationInfo( 'SoftlyDeprecated' )
);
$this->assertCount(
count( $preRegisteredDeprecated ) + count( $extDeprecatedHooks ),
$deprecatedHooks->getDeprecationInfo()
);
}
}

File Metadata

Mime Type
text/x-php
Expires
Tue, Aug 18, 15:47 (3 w, 5 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
16/a3/d36c6085d26f425fbea99af0f61a
Default Alt Text
DeprecatedHooksTest.php (3 KB)

Event Timeline