You are here

public function SubPathautoTest::testOutboundPathProcessorMaxDepth in Sub-pathauto (Sub-path URL Aliases) 8

@covers ::processOutbound

File

tests/src/Unit/SubPathautoTest.php, line 211

Class

SubPathautoTest
@coversDefaultClass \Drupal\subpathauto\PathProcessor @group subpathauto

Namespace

Drupal\Tests\subpathauto\Unit

Code

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')
    ->willReturnCallback([
    $this,
    'aliasByPathCallback',
  ]);

  // Subpath shouldn't be processed since the iterations has been limited.
  $processed = $this->pathProcessor
    ->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->pathProcessor
    ->processOutbound('/node/1/first/second/third');
  $this
    ->assertEquals('/content/first-node/first/second/third', $processed);
}