public function setUp() { $this->entityManager = $this->getMock('Drupal\\Core\\Entity\\EntityManagerInterface'); $this->entity = $this->getMock('Drupal\\Core\\Entity\\EntityInterface'); $this->routeProvider = $this->getMock('Drupal\\Core\\Routing\\RouteProviderInterface'); $this->routeProvider->expects($this->any())->method('getRouteByName')->with('entity.language_entity.edit_form')->will($this->returnValue(new Route('/admin/config/regional/language/edit/{language_entity}'))); $definition = array('class' => '\\Drupal\\config_translation\\ConfigEntityMapper', 'base_route_name' => 'entity.language_entity.edit_form', 'title' => '!label language', 'names' => array(), 'entity_type' => 'language_entity', 'route_name' => 'config_translation.item.overview.entity.language_entity.edit_form'); $typed_config_manager = $this->getMock('Drupal\\Core\\Config\\TypedConfigManagerInterface'); $locale_config_manager = $this->getMockBuilder('Drupal\\locale\\LocaleConfigManager')->disableOriginalConstructor()->getMock(); $this->configEntityMapper = new ConfigEntityMapper('language_entity', $definition, $this->getConfigFactoryStub(), $typed_config_manager, $locale_config_manager, $this->getMock('Drupal\\config_translation\\ConfigMapperManagerInterface'), $this->routeProvider, $this->getStringTranslationStub(), $this->entityManager); }
public function setUp() { $this->routeProvider = $this->getMock('Drupal\\Core\\Routing\\RouteProviderInterface'); $this->pluginDefinition = array('class' => '\\Drupal\\config_translation\\ConfigNamesMapper', 'base_route_name' => 'system.site_information_settings', 'title' => 'System information', 'names' => array('system.site'), 'weight' => 42); $this->typedConfigManager = $this->getMock('Drupal\\Core\\Config\\TypedConfigManagerInterface'); $this->localeConfigManager = $this->getMockBuilder('Drupal\\locale\\LocaleConfigManager')->disableOriginalConstructor()->getMock(); $this->configMapperManager = $this->getMock('Drupal\\config_translation\\ConfigMapperManagerInterface'); $this->baseRoute = new Route('/admin/config/system/site-information'); $this->routeProvider->expects($this->any())->method('getRouteByName')->with('system.site_information_settings')->will($this->returnValue($this->baseRoute)); $this->configNamesMapper = new TestConfigNamesMapper('system.site_information_settings', $this->pluginDefinition, $this->getConfigFactoryStub(), $this->typedConfigManager, $this->localeConfigManager, $this->configMapperManager, $this->routeProvider, $this->getStringTranslationStub()); }
/** * Tests the getRouteParameters method for a route with upcasted parameters. * * @covers ::getRouteParameters */ public function testGetRouteParametersForDynamicRouteWithUpcastedParameters() { $this->pluginDefinition = array('route_name' => 'test_route'); $route = new Route('/test-route/{parameter}'); $this->routeProvider->expects($this->once())->method('getRouteByName')->with('test_route')->will($this->returnValue($route)); $this->setupLocalTaskDefault(); $route_match = new RouteMatch('', $route, array('parameter' => (object) 'example2'), array('parameter' => 'example')); $this->assertEquals(array('parameter' => 'example'), $this->localTaskBase->getRouteParameters($route_match)); }
/** * Tests onRequest on a html request. */ public function testOnRequestOnHtml() { $event = $this->getMockBuilder('\\Symfony\\Component\\HttpKernel\\Event\\KernelEvent')->disableOriginalConstructor()->getMock(); $request = new Request(); $request->setRequestFormat('html'); $event->expects($this->any())->method('getRequest')->will($this->returnValue($request)); $this->routeProvider->expects($this->once())->method('preLoadRoutes')->with(['test2']); $this->state->expects($this->once())->method('get')->with('routing.non_admin_routes')->will($this->returnValue(array('test2'))); $this->preloader->onRequest($event); }
/** * Tests the getRouteParameters method for a route with upcasted parameters. * * @see \Drupal\Core\Menu\LocalTaskDefault::getRouteParameters() */ public function testGetRouteParametersForDynamicRouteWithUpcastedParameters() { $this->pluginDefinition = array('route_name' => 'test_route'); $this->routeProvider->expects($this->once())->method('getRouteByName')->with('test_route')->will($this->returnValue(new Route('/test-route/{parameter}'))); $this->setupLocalTaskDefault(); $request = new Request(); $raw_variables = new ParameterBag(); $raw_variables->set('parameter', 'example'); $request->attributes->set('parameter', (object) array('example2')); $request->attributes->set('_raw_variables', $raw_variables); $this->assertEquals(array('parameter' => 'example'), $this->localTaskBase->getRouteParameters($request)); }
/** * {@inheritdoc} */ protected function setUp() { $cache_contexts_manager = $this->getMockBuilder('Drupal\\Core\\Cache\\Context\\CacheContextsManager')->disableOriginalConstructor()->getMock(); $cache_contexts_manager->method('assertValidTokens')->willReturn(TRUE); $container = new ContainerBuilder(); $container->set('cache_contexts_manager', $cache_contexts_manager); \Drupal::setContainer($container); $routes = new RouteCollection(); $first_route = new Route('/test/one'); $second_route = new Route('/test/two/{narf}'); $third_route = new Route('/test/two/'); $fourth_route = new Route('/test/four', [], [], [], '', ['https']); $none_route = new Route('', [], [], ['_no_path' => TRUE]); $routes->add('test_1', $first_route); $routes->add('test_2', $second_route); $routes->add('test_3', $third_route); $routes->add('test_4', $fourth_route); $routes->add('<none>', $none_route); // Create a route provider stub. $provider = $this->getMockBuilder('Drupal\\Core\\Routing\\RouteProvider')->disableOriginalConstructor()->getMock(); // We need to set up return value maps for both the getRouteByName() and the // getRoutesByNames() method calls on the route provider. The parameters // are not passed in and default to an empty array. $route_name_return_map = $routes_names_return_map = array(); $return_map_values = array(['route_name' => 'test_1', 'return' => $first_route], ['route_name' => 'test_2', 'return' => $second_route], ['route_name' => 'test_3', 'return' => $third_route], ['route_name' => 'test_4', 'return' => $fourth_route], ['route_name' => '<none>', 'return' => $none_route]); foreach ($return_map_values as $values) { $route_name_return_map[] = array($values['route_name'], $values['return']); $routes_names_return_map[] = array(array($values['route_name']), $values['return']); } $this->provider = $provider; $this->provider->expects($this->any())->method('getRouteByName')->will($this->returnValueMap($route_name_return_map)); $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_manager->expects($this->any())->method('getAliasByPath')->will($this->returnCallback(array($this, 'aliasManagerCallback'))); $this->aliasManager = $alias_manager; $this->requestStack = new RequestStack(); $request = Request::create('/some/path'); $this->requestStack->push($request); $this->context = new RequestContext(); $this->context->fromRequestStack($this->requestStack); $processor = new PathProcessorAlias($this->aliasManager); $processor_manager = new PathProcessorManager(); $processor_manager->addOutbound($processor, 1000); $this->routeProcessorManager = $this->getMockBuilder('Drupal\\Core\\RouteProcessor\\RouteProcessorManager')->disableOriginalConstructor()->getMock(); $generator = new UrlGenerator($this->provider, $processor_manager, $this->routeProcessorManager, $this->requestStack, ['http', 'https']); $generator->setContext($this->context); $this->generator = $generator; }
/** * @covers ::getUrl */ public function testGetUrlWithPlaceholdersAndWithoutArgsAndExceptionValue() { $this->displayHandler->expects($this->any())->method('getRoutedDisplay')->willReturn($this->displayHandler); $this->displayHandlers->expects($this->any())->method('get')->willReturn($this->displayHandler); $this->displayHandler->expects($this->any())->method('getUrlInfo')->willReturn(Url::fromRoute('views.test.page_1')); $this->displayHandler->expects($this->any())->method('getPath')->willReturn('test-path/%/%'); $route = new Route('/test-path/{arg_0}/{arg_1}'); $this->routeProvider->expects($this->any())->method('getRouteByName')->with('views.test.page_1')->willReturn($route); $argument_handler = $this->getMockBuilder('Drupal\\views\\Plugin\\views\\argument\\ArgumentPluginBase')->disableOriginalConstructor()->getMock(); $argument_handler->options['exception']['value'] = 'exception_0'; $this->executable->argument['key_1'] = $argument_handler; $argument_handler = $this->getMockBuilder('Drupal\\views\\Plugin\\views\\argument\\ArgumentPluginBase')->disableOriginalConstructor()->getMock(); $argument_handler->options['exception']['value'] = 'exception_1'; $this->executable->argument['key_2'] = $argument_handler; $this->assertEquals(Url::fromRoute('views.test.page_1', ['arg_0' => 'exception_0', 'arg_1' => 'exception_1']), $this->executable->getUrl()); }
/** * Tests fetching the derivatives on a view with a local task and a parent. * * The parent is defined by another module, not views. */ public function testGetDerivativeDefinitionsWithExistingLocalTask() { $executable = $this->getMockBuilder('Drupal\\views\\ViewExecutable')->disableOriginalConstructor()->getMock(); $storage = $this->getMockBuilder('Drupal\\views\\Entity\\View')->disableOriginalConstructor()->getMock(); $storage->expects($this->any())->method('id')->will($this->returnValue('example_view')); $storage->expects($this->any())->method('getExecutable')->willReturn($executable); $executable->storage = $storage; $this->viewStorage->expects($this->any())->method('load')->with('example_view')->willReturn($storage); $display_plugin = $this->getMockBuilder('Drupal\\views\\Plugin\\views\\display\\PathPluginBase')->setMethods(array('getOption', 'getPath'))->disableOriginalConstructor()->getMockForAbstractClass(); $display_plugin->expects($this->exactly(2))->method('getOption')->with('menu')->will($this->returnValue(array('type' => 'tab', 'weight' => 12, 'title' => 'Example title'))); $display_plugin->expects($this->once())->method('getPath')->will($this->returnValue('path/example')); $executable->display_handler = $display_plugin; $result = [['example_view', 'page_1']]; $this->localTaskDerivative->setApplicableMenuViews($result); // Mock the view route names state. $view_route_names = array(); $view_route_names['example_view.page_1'] = 'view.example_view.page_1'; $this->state->expects($this->exactly(2))->method('get')->with('views.view_route_names')->will($this->returnValue($view_route_names)); // Mock the route provider. $route_collection = new RouteCollection(); $route_collection->add('test_route', new Route('/path')); $this->routeProvider->expects($this->any())->method('getRoutesByPattern')->with('/path')->will($this->returnValue($route_collection)); // Setup the existing local task of the test_route. $definitions['test_route_tab'] = $other_tab = array('route_name' => 'test_route', 'title' => 'Test route', 'base_route' => 'test_route'); $definitions += $this->localTaskDerivative->getDerivativeDefinitions($this->baseDefinition); // Setup the prefix of the derivative. $definitions['views_view:view.example_view.page_1'] = $definitions['view.example_view.page_1']; unset($definitions['view.example_view.page_1']); $this->localTaskDerivative->alterLocalTasks($definitions); $plugin = $definitions['views_view:view.example_view.page_1']; $this->assertCount(2, $definitions); // Ensure the other local task was not changed. $this->assertEquals($other_tab, $definitions['test_route_tab']); $this->assertEquals('view.example_view.page_1', $plugin['route_name']); $this->assertEquals(12, $plugin['weight']); $this->assertEquals('Example title', $plugin['title']); $this->assertEquals($this->baseDefinition['class'], $plugin['class']); $this->assertEquals('test_route', $plugin['base_route']); }