/**
   * @covers ::processOutbound
   */
  public function testOutboundPathProcessorMaxDepth() {
    $this->pathValidator->expects($this->any())
      ->method('getUrlIfValidWithoutAccessCheck')
      ->willReturn(new Url('any_route'));
    $this->subPathautoSettings->expects($this->exactly(2))
      ->method('get')
      ->willReturn(3);

    $this->aliasProcessor->expects($this->any())
      ->method('processOutbound')
      ->will($this->returnCallback([$this, 'aliasByPathCallback']));

    // Subpath shouldn't be processed since the iterations has been limited.
    $processed = $this->sut->processOutbound('/node/1/first/second/third/fourth');
    $this->assertEquals('/node/1/first/second/third/fourth', $processed);

    // Subpath should be processed when the max depth doesn't exceed.
    $processed = $this->sut->processOutbound('/node/1/first/second/third');
    $this->assertEquals('/content/first-node/first/second/third', $processed);
  }
Exemple #2
0
 /**
  * Convenience method, adds the configuration object's cache tag.
  *
  * @param \Drupal\Core\Config\ConfigBase $configuration
  *   The configuration object whose cache tag to set on the access result.
  *
  * @return $this
  */
 public function cacheUntilConfigurationChanges(ConfigBase $configuration)
 {
     $this->addCacheTags($configuration->getCacheTags());
     return $this;
 }