3 namespace Drupal\Tests\views\Unit\Plugin\argument_default;
5 use Drupal\Core\Path\CurrentPathStack;
6 use Drupal\Tests\UnitTestCase;
7 use Drupal\views\Plugin\views\argument_default\Raw;
8 use Symfony\Component\HttpFoundation\Request;
9 use Symfony\Component\HttpFoundation\RequestStack;
12 * @coversDefaultClass \Drupal\views\Plugin\views\argument_default\Raw
15 class RawTest extends UnitTestCase {
18 * Test the getArgument() method.
20 * @see \Drupal\views\Plugin\views\argument_default\Raw::getArgument()
22 public function testGetArgument() {
23 $view = $this->getMockBuilder('Drupal\views\ViewExecutable')
24 ->disableOriginalConstructor()
26 $display_plugin = $this->getMockBuilder('Drupal\views\Plugin\views\display\DisplayPluginBase')
27 ->disableOriginalConstructor()
29 $current_path = new CurrentPathStack(new RequestStack());
31 $request = new Request();
32 $current_path->setPath('/test/example', $request);
33 $view->expects($this->any())
34 ->method('getRequest')
35 ->will($this->returnValue($request));
36 $alias_manager = $this->getMock('Drupal\Core\Path\AliasManagerInterface');
37 $alias_manager->expects($this->never())
38 ->method('getAliasByPath');
40 // Don't use aliases. Check against NULL and nonexistent path component
41 // values in addition to valid ones.
42 $raw = new Raw([], 'raw', [], $alias_manager, $current_path);
46 $raw->init($view, $display_plugin, $options);
47 $this->assertEquals(NULL, $raw->getArgument());
49 $raw = new Raw([], 'raw', [], $alias_manager, $current_path);
54 $raw->init($view, $display_plugin, $options);
55 $this->assertEquals('test', $raw->getArgument());
57 $raw = new Raw([], 'raw', [], $alias_manager, $current_path);
62 $raw->init($view, $display_plugin, $options);
63 $this->assertEquals('example', $raw->getArgument());
65 $raw = new Raw([], 'raw', [], $alias_manager, $current_path);
70 $raw->init($view, $display_plugin, $options);
71 $this->assertEquals(NULL, $raw->getArgument());
73 // Setup an alias manager with a path alias.
74 $alias_manager = $this->getMock('Drupal\Core\Path\AliasManagerInterface');
75 $alias_manager->expects($this->any())
76 ->method('getAliasByPath')
77 ->with($this->equalTo('/test/example'))
78 ->will($this->returnValue('/other/example'));
80 $raw = new Raw([], 'raw', [], $alias_manager, $current_path);
84 $raw->init($view, $display_plugin, $options);
85 $this->assertEquals(NULL, $raw->getArgument());
87 $raw = new Raw([], 'raw', [], $alias_manager, $current_path);
92 $raw->init($view, $display_plugin, $options);
93 $this->assertEquals('other', $raw->getArgument());
95 $raw = new Raw([], 'raw', [], $alias_manager, $current_path);
100 $raw->init($view, $display_plugin, $options);
101 $this->assertEquals('example', $raw->getArgument());
103 $raw = new Raw([], 'raw', [], $alias_manager, $current_path);
108 $raw->init($view, $display_plugin, $options);
109 $this->assertEquals(NULL, $raw->getArgument());