/**
  * @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));
 }