function LinkNotExistingInternalConstraintValidatorTest::providerValidate

Same name in other branches
  1. 8.9.x core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidatorTest.php \Drupal\Tests\link\Unit\Plugin\Validation\Constraint\LinkNotExistingInternalConstraintValidatorTest::providerValidate()

Data provider for ::testValidate.

File

core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidatorTest.php, line 44

Class

LinkNotExistingInternalConstraintValidatorTest
@coversDefaultClass \Drupal\link\Plugin\Validation\Constraint\LinkNotExistingInternalConstraintValidator @group Link

Namespace

Drupal\Tests\link\Unit\Plugin\Validation\Constraint

Code

public function providerValidate() {
    $data = [];
    // External URL
    $data[] = [
        Url::fromUri('https://www.drupal.org'),
        TRUE,
    ];
    // Existing routed URL.
    $url = Url::fromRoute('example.existing_route');
    $url_generator = $this->createMock('Drupal\\Core\\Routing\\UrlGeneratorInterface');
    $url_generator->expects($this->any())
        ->method('generateFromRoute')
        ->with('example.existing_route', [], [])
        ->willReturn('/example/existing');
    $url->setUrlGenerator($url_generator);
    $data[] = [
        $url,
        TRUE,
    ];
    // Non-existent routed URL.
    $url = Url::fromRoute('example.not_existing_route');
    $url_generator = $this->createMock('Drupal\\Core\\Routing\\UrlGeneratorInterface');
    $url_generator->expects($this->any())
        ->method('generateFromRoute')
        ->with('example.not_existing_route', [], [])
        ->willThrowException(new RouteNotFoundException());
    $url->setUrlGenerator($url_generator);
    $data[] = [
        $url,
        FALSE,
    ];
    foreach ($data as &$single_data) {
        $link = $this->createMock('Drupal\\link\\LinkItemInterface');
        $link->expects($this->any())
            ->method('getUrl')
            ->willReturn($single_data[0]);
        $single_data[0] = $link;
    }
    return $data;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.