Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 4 |
CRAP | |
0.00% |
0 / 18 |
MockAliasManager | |
0.00% |
0 / 1 |
|
0.00% |
0 / 4 |
90 | |
0.00% |
0 / 18 |
addAlias | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 10 |
|||
getPathByAlias | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 3 |
|||
getAliasByPath | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 4 |
|||
cacheClear | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\system\Tests\Routing\MockAliasManager. | |
*/ | |
namespace Drupal\system\Tests\Routing; | |
use Drupal\Core\Path\AliasManagerInterface; | |
/** | |
* An easily configurable mock alias manager. | |
*/ | |
class MockAliasManager implements AliasManagerInterface { | |
/** | |
* Array of mocked aliases. Keys are system paths, followed by language. | |
* | |
* @var array | |
*/ | |
protected $aliases = array(); | |
/** | |
* Array of mocked aliases. Keys are aliases, followed by language. | |
* | |
* @var array | |
*/ | |
protected $systemPaths = array(); | |
/** | |
* An index of aliases that have been requested. | |
* | |
* @var array | |
*/ | |
protected $lookedUp = array(); | |
/** | |
* The language to assume a path alias is for if not specified. | |
* | |
* @var string | |
*/ | |
public $defaultLanguage = 'en'; | |
/** | |
* Adds an alias to the in-memory alias table for this object. | |
* | |
* @param type $path | |
* The system path of the alias. | |
* @param type $alias | |
* The alias of the system path. | |
* @param type $path_language | |
* The language of this alias. | |
*/ | |
public function addAlias($path, $alias, $path_language = NULL) { | |
$language = $path_language ?: $this->defaultLanguage; | |
if ($path[0] !== '/') { | |
throw new \InvalidArgumentException('The path needs to start with a slash.'); | |
} | |
if ($alias[0] !== '/') { | |
throw new \InvalidArgumentException('The alias needs to start with a slash.'); | |
} | |
$this->aliases[$path][$language] = $alias; | |
$this->systemPaths[$alias][$language] = $path; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getPathByAlias($alias, $langcode = NULL) { | |
$langcode = $langcode ?: $this->defaultLanguage; | |
return $this->systemPaths[$alias][$langcode]; | |
} | |
/** | |
* {@inheritdoc} | |
* @param $path | |
* @param null $langcode | |
* @return | |
*/ | |
public function getAliasByPath($path, $langcode = NULL) { | |
$langcode = $langcode ?: $this->defaultLanguage; | |
$this->lookedUp[$path] = 1; | |
return $this->aliases[$path][$langcode]; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function cacheClear($source = NULL) { | |
// Not needed. | |
} | |
} |