class DeprecatedClassesTest
Tests deprecation of path alias core service classes.
@group path_alias @group legacy
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses \Drupal\Tests\PhpunitCompatibilityTrait
- class \Drupal\Tests\path_alias\Unit\DeprecatedClassesTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of DeprecatedClassesTest
File
-
core/
modules/ path_alias/ tests/ src/ Unit/ DeprecatedClassesTest.php, line 34
Namespace
Drupal\Tests\path_alias\UnitView source
class DeprecatedClassesTest extends UnitTestCase {
/**
* @var \Drupal\path_alias\AliasManagerInterface
*/
protected $aliasManager;
/**
* @var \Drupal\path_alias\AliasRepositoryInterface
*/
protected $aliasRepository;
/**
* @var \Drupal\path_alias\AliasWhitelistInterface
*/
protected $aliasWhitelist;
/**
* @var \Drupal\Core\Cache\CacheBackendInterface
*/
protected $cache;
/**
* @var \Drupal\Core\Path\CurrentPathStack
*/
protected $currentPathStack;
/**
* @var \Drupal\Core\Language\LanguageManagerInterface
*/
protected $languageManager;
/**
* @var \Drupal\Core\Lock\LockBackendInterface
*/
protected $lock;
/**
* @var \Drupal\Core\State\StateInterface
*/
protected $state;
/**
* {@inheritdoc}
*/
protected function setUp() {
parent::setUp();
$this->aliasManager = $this->prophesize(AliasManagerInterface::class)
->reveal();
$this->aliasRepository = $this->prophesize(AliasRepositoryInterface::class)
->reveal();
$this->aliasWhitelist = $this->prophesize(AliasWhitelistInterface::class)
->reveal();
$this->cache = $this->prophesize(CacheBackendInterface::class)
->reveal();
$this->currentPathStack = $this->prophesize(CurrentPathStack::class)
->reveal();
$this->languageManager = $this->prophesize(LanguageManagerInterface::class)
->reveal();
$this->lock = $this->prophesize(LockBackendInterface::class)
->reveal();
$this->state = $this->prophesize(StateInterface::class)
->reveal();
/** @var \Prophecy\Prophecy\ObjectProphecy $container */
$container = $this->prophesize(ContainerBuilder::class);
$container->get('path_alias.manager')
->willReturn($this->aliasManager);
\Drupal::setContainer($container->reveal());
}
/**
* @covers \Drupal\Core\EventSubscriber\PathSubscriber::__construct
*
* @expectedDeprecation The \Drupal\Core\EventSubscriber\PathSubscriber class is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Instead, use \Drupal\path_alias\EventSubscriber\PathAliasSubscriber. See https://drupal.org/node/3092086
*/
public function testPathSubscriber() {
new PathSubscriber($this->aliasManager, $this->currentPathStack);
}
/**
* @covers \Drupal\path_alias\EventSubscriber\PathAliasSubscriber::__construct
*/
public function testPathAliasSubscriber() {
$object = new PathAliasSubscriber($this->aliasManager, $this->currentPathStack);
$this->assertInstanceOf(PathSubscriber::class, $object);
}
/**
* @covers \Drupal\Core\PathProcessor\PathProcessorAlias::__construct
*
* @expectedDeprecation The \Drupal\Core\PathProcessor\PathProcessorAlias class is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Instead, use \Drupal\path_alias\PathProcessor\AliasPathProcessor. See https://drupal.org/node/3092086
*/
public function testPathProcessorAlias() {
new PathProcessorAlias($this->aliasManager);
}
/**
* @covers \Drupal\path_alias\PathProcessor\AliasPathProcessor::__construct
*/
public function testAliasPathProcessor() {
$object = new AliasPathProcessor($this->aliasManager);
$this->assertInstanceOf(PathProcessorAlias::class, $object);
}
/**
* @covers \Drupal\Core\Path\AliasManager::__construct
*
* @expectedDeprecation The \Drupal\Core\Path\AliasManager class is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Instead, use \Drupal\path_alias\AliasManager. See https://drupal.org/node/3092086
*/
public function testCoreAliasManager() {
new CoreAliasManager($this->aliasRepository, $this->aliasWhitelist, $this->languageManager, $this->cache);
}
/**
* @covers \Drupal\path_alias\AliasManager::__construct
*/
public function testAliasManager() {
$object = new AliasManager($this->aliasRepository, $this->aliasWhitelist, $this->languageManager, $this->cache);
$this->assertInstanceOf(CoreAliasManager::class, $object);
}
/**
* @covers \Drupal\Core\Path\AliasWhitelist::__construct
*
* @expectedDeprecation The \Drupal\Core\Path\AliasWhitelist class is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Instead, use \Drupal\path_alias\AliasWhitelist. See https://drupal.org/node/3092086
*/
public function testCoreAliasWhitelist() {
new CoreAliasWhitelist('path_alias_whitelist', $this->cache, $this->lock, $this->state, $this->aliasRepository);
}
/**
* @covers \Drupal\path_alias\AliasWhitelist::__construct
*/
public function testAliasWhitelist() {
$object = new AliasWhitelist('path_alias_whitelist', $this->cache, $this->lock, $this->state, $this->aliasRepository);
$this->assertInstanceOf(CoreAliasWhitelist::class, $object);
}
/**
* @covers \Drupal\system\Form\SiteInformationForm::__construct
*
* @expectedDeprecation Calling \Drupal\system\Form\SiteInformationForm::__construct with \Drupal\Core\Path\AliasManagerInterface instead of \Drupal\path_alias\AliasManagerInterface is deprecated in drupal:8.8.0. The new service will be required in drupal:9.0.0. See https://www.drupal.org/node/3092086
*/
public function testDeprecatedSystemInformationFormConstructorParameters() {
$this->assertDeprecatedConstructorParameter(SiteInformationForm::class);
}
/**
* @covers \Drupal\system\Plugin\Condition\RequestPath::__construct
*
* @expectedDeprecation Calling \Drupal\system\Plugin\Condition\RequestPath::__construct with \Drupal\Core\Path\AliasManagerInterface instead of \Drupal\path_alias\AliasManagerInterface is deprecated in drupal:8.8.0. The new service will be required in drupal:9.0.0. See https://www.drupal.org/node/3092086
*/
public function testDeprecatedRequestPathConstructorParameters() {
$this->assertDeprecatedConstructorParameter(RequestPath::class);
}
/**
* @covers \Drupal\views\Plugin\views\argument_default\Raw::__construct
*
* @expectedDeprecation Calling \Drupal\views\Plugin\views\argument_default\Raw::__construct with \Drupal\Core\Path\AliasManagerInterface instead of \Drupal\path_alias\AliasManagerInterface is deprecated in drupal:8.8.0. The new service will be required in drupal:9.0.0. See https://www.drupal.org/node/3092086
*/
public function testDeprecatedRawConstructorParameters() {
$this->assertDeprecatedConstructorParameter(Raw::class);
}
/**
* Test that deprecation for the \Drupal\Core\Path\AliasManagerInterface.
*
* @param string $tested_class_name
* The name of the tested class.
*
* @dataProvider deprecatedConstructorParametersProvider
*
* @expectedDeprecation The \Drupal\Core\Path\AliasManagerInterface interface is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Instead, use \Drupal\path_alias\AliasManagerInterface. See https://drupal.org/node/3092086
*/
public function assertDeprecatedConstructorParameter($tested_class_name) {
$tested_class = new \ReflectionClass($tested_class_name);
$parameters = $tested_class->getConstructor()
->getParameters();
$args = [];
foreach ($parameters as $parameter) {
$name = $parameter->getName();
if ($name === 'alias_manager') {
$class_name = CoreAliasManagerInterface::class;
}
else {
$type = $parameter->getType();
$class_name = $type ? (string) $type : NULL;
}
$args[$name] = isset($class_name) && $class_name !== 'array' ? $this->prophesize($class_name)
->reveal() : [];
}
$instance = $tested_class->newInstanceArgs($args);
$property = $tested_class->getProperty('aliasManager');
$property->setAccessible(TRUE);
$this->assertInstanceOf(AliasManagerInterface::class, $property->getValue($instance));
}
}
Members
Title Sort descending | Deprecated | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|---|
DeprecatedClassesTest::$aliasManager | protected | property | ||||
DeprecatedClassesTest::$aliasRepository | protected | property | ||||
DeprecatedClassesTest::$aliasWhitelist | protected | property | ||||
DeprecatedClassesTest::$cache | protected | property | ||||
DeprecatedClassesTest::$currentPathStack | protected | property | ||||
DeprecatedClassesTest::$languageManager | protected | property | ||||
DeprecatedClassesTest::$lock | protected | property | ||||
DeprecatedClassesTest::$state | protected | property | ||||
DeprecatedClassesTest::assertDeprecatedConstructorParameter | public | function | Test that deprecation for the \Drupal\Core\Path\AliasManagerInterface. | |||
DeprecatedClassesTest::setUp | protected | function | Overrides UnitTestCase::setUp | |||
DeprecatedClassesTest::testAliasManager | public | function | @covers \Drupal\path_alias\AliasManager::__construct | |||
DeprecatedClassesTest::testAliasPathProcessor | public | function | @covers \Drupal\path_alias\PathProcessor\AliasPathProcessor::__construct | |||
DeprecatedClassesTest::testAliasWhitelist | public | function | @covers \Drupal\path_alias\AliasWhitelist::__construct | |||
DeprecatedClassesTest::testCoreAliasManager | public | function | @covers \Drupal\Core\Path\AliasManager::__construct | |||
DeprecatedClassesTest::testCoreAliasWhitelist | public | function | @covers \Drupal\Core\Path\AliasWhitelist::__construct | |||
DeprecatedClassesTest::testDeprecatedRawConstructorParameters | public | function | @covers \Drupal\views\Plugin\views\argument_default\Raw::__construct | |||
DeprecatedClassesTest::testDeprecatedRequestPathConstructorParameters | public | function | @covers \Drupal\system\Plugin\Condition\RequestPath::__construct | |||
DeprecatedClassesTest::testDeprecatedSystemInformationFormConstructorParameters | public | function | @covers \Drupal\system\Form\SiteInformationForm::__construct | |||
DeprecatedClassesTest::testPathAliasSubscriber | public | function | @covers \Drupal\path_alias\EventSubscriber\PathAliasSubscriber::__construct | |||
DeprecatedClassesTest::testPathProcessorAlias | public | function | @covers \Drupal\Core\PathProcessor\PathProcessorAlias::__construct | |||
DeprecatedClassesTest::testPathSubscriber | public | function | @covers \Drupal\Core\EventSubscriber\PathSubscriber::__construct | |||
PhpunitCompatibilityTrait::getMock | Deprecated | public | function | Returns a mock object for the specified class using the available method. | ||
PhpunitCompatibilityTrait::setExpectedException | Deprecated | public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | ||
UnitTestCase::$randomGenerator | protected | property | The random generator. | |||
UnitTestCase::$root | protected | property | The app root. | 1 | ||
UnitTestCase::assertArrayEquals | protected | function | Asserts if two arrays are equal by sorting them first. | |||
UnitTestCase::getBlockMockWithMachineName | Deprecated | protected | function | Mocks a block with a block plugin. | 1 | |
UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | |||
UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | |||
UnitTestCase::getConfigStorageStub | public | function | Returns a stub config storage that returns the supplied configuration. | |||
UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | |||
UnitTestCase::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | |||
UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | |||
UnitTestCase::randomMachineName | public | function | Generates a unique random string containing letters and numbers. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.