/** * @covers ::assemble */ public function testAssembleWithEnabledProcessing() { $this->setupRequestStack(FALSE); $this->pathProcessor->expects($this->once())->method('processOutbound')->with('test-uri', ['path_processing' => TRUE, 'fragment' => NULL, 'query' => [], 'absolute' => NULL, 'prefix' => NULL, 'script' => NULL])->willReturn('test-other-uri'); $result = $this->unroutedUrlAssembler->assemble('base:test-uri', ['path_processing' => TRUE]); $this->assertEquals('/test-other-uri', $result); }
/** * @covers ::assemble */ public function testAssembleWithEnabledProcessing() { $this->setupRequestStack(FALSE); $this->pathProcessor->expects($this->exactly(2))->method('processOutbound')->willReturnCallback(function ($path, &$options = [], Request $request = NULL, BubbleableMetadata $bubbleable_metadata = NULL) { if ($bubbleable_metadata) { $bubbleable_metadata->setCacheContexts(['some-cache-context']); } return 'test-other-uri'; }); $result = $this->unroutedUrlAssembler->assemble('base:test-uri', ['path_processing' => TRUE]); $this->assertEquals('/test-other-uri', $result); $result = $this->unroutedUrlAssembler->assemble('base:test-uri', ['path_processing' => TRUE], TRUE); $expected_generated_url = new GeneratedUrl(); $expected_generated_url->setGeneratedUrl('/test-other-uri')->setCacheContexts(['some-cache-context']); $this->assertEquals($expected_generated_url, $result); }
/** * @covers ::assemble * @covers::buildLocalUrl * * @dataProvider providerTestAssembleWithLocalUri */ public function testAssembleWithLocalUri($uri, array $options, $subdir, $expected) { $server = []; if ($subdir) { // Setup a fake request which looks like a Drupal installed under the // subdir "subdir" on the domain www.example.com. // To reproduce the values install Drupal like that and use a debugger. $server = ['SCRIPT_NAME' => '/subdir/index.php', 'SCRIPT_FILENAME' => DRUPAL_ROOT . '/index.php', 'SERVER_NAME' => 'http://www.example.com']; $request = Request::create('/subdir'); } else { $request = Request::create('/'); } $request->server->add($server); $this->requestStack->push($request); $this->assertEquals($expected, $this->unroutedUrlAssembler->assemble($uri, $options)); }