function setUp() {
$routes = new RouteCollection();
$first_route = new Route('/test/one');
$second_route = new Route('/test/two/{narf}');
$routes
->add('test_1', $first_route);
$routes
->add('test_2', $second_route);
// Create a route provider stub.
$provider = $this
->getMockBuilder('Drupal\\Core\\Routing\\RouteProvider')
->disableOriginalConstructor()
->getMock();
$route_name_return_map = array(
array(
'test_1',
array(),
$first_route,
),
array(
'test_2',
array(
'narf' => '5',
),
$second_route,
),
);
$provider
->expects($this
->any())
->method('getRouteByName')
->will($this
->returnValueMap($route_name_return_map));
$routes_names_return_map = array(
array(
array(
'test_1',
),
array(),
array(
$first_route,
),
),
array(
array(
'test_2',
),
array(
'narf' => '5',
),
array(
$second_route,
),
),
);
$provider
->expects($this
->any())
->method('getRoutesByNames')
->will($this
->returnValueMap($routes_names_return_map));
// Create an alias manager stub.
$alias_manager = $this
->getMockBuilder('Drupal\\Core\\Path\\AliasManager')
->disableOriginalConstructor()
->getMock();
$alias_map = array(
array(
'test/one',
NULL,
'hello/world',
),
array(
'test/two/5',
NULL,
'goodbye/cruel/world',
),
array(
'node/123',
NULL,
'node/123',
),
);
$alias_manager
->expects($this
->any())
->method('getPathAlias')
->will($this
->returnValueMap($alias_map));
$this->aliasManager = $alias_manager;
$context = new RequestContext();
$context
->fromRequest(Request::create('/some/path'));
$processor = new PathProcessorAlias($this->aliasManager);
$processor_manager = new PathProcessorManager();
$processor_manager
->addOutbound($processor, 1000);
$config_factory_stub = $this
->getConfigFactoryStub(array(
'system.filter' => array(
'protocols' => array(
'http',
'https',
),
),
));
$generator = new UrlGenerator($provider, $processor_manager, $config_factory_stub, new Settings(array()));
$generator
->setContext($context);
$this->generator = $generator;
}