TourTest.php in Drupal 9
Same filename in this branch
Same filename and directory in other branches
Namespace
Drupal\Tests\tour\Unit\EntityFile
core/modules/tour/tests/src/Unit/Entity/TourTest.phpView source
<?php
namespace Drupal\Tests\tour\Unit\Entity;
use Drupal\Tests\UnitTestCase;
/**
* @coversDefaultClass \Drupal\tour\Entity\Tour
* @group tour
*/
class TourTest extends UnitTestCase {
/**
* Tests \Drupal\tour\Entity\Tour::hasMatchingRoute().
*
* @param array $routes
* Array of routes as per the Tour::routes property.
* @param string $route_name
* The route name to match.
* @param array $route_params
* Array of route params.
* @param bool $result
* Expected result.
*
* @covers ::hasMatchingRoute
*
* @dataProvider routeProvider
*/
public function testHasMatchingRoute($routes, $route_name, $route_params, $result) {
$tour = $this
->getMockBuilder('\\Drupal\\tour\\Entity\\Tour')
->disableOriginalConstructor()
->setMethods([
'getRoutes',
])
->getMock();
$tour
->expects($this
->any())
->method('getRoutes')
->will($this
->returnValue($routes));
$this
->assertSame($result, $tour
->hasMatchingRoute($route_name, $route_params));
$tour
->resetKeyedRoutes();
}
/**
* Provides sample routes for testing.
*/
public function routeProvider() {
return [
// Simple match.
[
[
[
'route_name' => 'some.route',
],
],
'some.route',
[],
TRUE,
],
// Simple non-match.
[
[
[
'route_name' => 'another.route',
],
],
'some.route',
[],
FALSE,
],
// Empty params.
[
[
[
'route_name' => 'some.route',
'route_params' => [
'foo' => 'bar',
],
],
],
'some.route',
[],
FALSE,
],
// Match on params.
[
[
[
'route_name' => 'some.route',
'route_params' => [
'foo' => 'bar',
],
],
],
'some.route',
[
'foo' => 'bar',
],
TRUE,
],
// Non-matching params.
[
[
[
'route_name' => 'some.route',
'route_params' => [
'foo' => 'bar',
],
],
],
'some.route',
[
'bar' => 'foo',
],
FALSE,
],
// One matching, one not.
[
[
[
'route_name' => 'some.route',
'route_params' => [
'foo' => 'bar',
],
],
[
'route_name' => 'some.route',
'route_params' => [
'bar' => 'foo',
],
],
],
'some.route',
[
'bar' => 'foo',
],
TRUE,
],
// One matching, one not.
[
[
[
'route_name' => 'some.route',
'route_params' => [
'foo' => 'bar',
],
],
[
'route_name' => 'some.route',
'route_params' => [
'foo' => 'baz',
],
],
],
'some.route',
[
'foo' => 'baz',
],
TRUE,
],
];
}
}
Classes
Name | Description |
---|---|
TourTest | @coversDefaultClass \Drupal\tour\Entity\Tour @group tour |