This repository has been archived on 2025-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
drupalcampbristol/vendor/symfony-cmf/routing/Tests/Candidates/CandidatesTest.php

106 lines
2.5 KiB
PHP
Raw Normal View History

2018-11-23 12:29:20 +00:00
<?php
/*
* This file is part of the Symfony CMF package.
*
* (c) 2011-2015 Symfony CMF
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Cmf\Component\Routing\Tests\Candidates;
use Symfony\Cmf\Component\Routing\Candidates\Candidates;
use Symfony\Component\HttpFoundation\Request;
class CandidatesTest extends \PHPUnit_Framework_Testcase
{
/**
* Everything is a candidate.
*/
public function testIsCandidate()
{
$candidates = new Candidates();
$this->assertTrue($candidates->isCandidate('/routes'));
$this->assertTrue($candidates->isCandidate('/routes/my/path'));
}
/**
* Nothing should be called on the query builder.
*/
public function testRestrictQuery()
{
$candidates = new Candidates();
$candidates->restrictQuery(null);
}
public function testGetCandidates()
{
$request = Request::create('/my/path.html');
$candidates = new Candidates();
$paths = $candidates->getCandidates($request);
$this->assertEquals(
array(
'/my/path.html',
'/my/path',
'/my',
'/',
),
$paths
);
}
public function testGetCandidatesLocales()
{
$candidates = new Candidates(array('de', 'fr'));
$request = Request::create('/fr/path.html');
$paths = $candidates->getCandidates($request);
$this->assertEquals(
array(
'/fr/path.html',
'/fr/path',
'/fr',
'/',
'/path.html',
'/path',
),
$paths
);
$request = Request::create('/it/path.html');
$paths = $candidates->getCandidates($request);
$this->assertEquals(
array(
'/it/path.html',
'/it/path',
'/it',
'/',
),
$paths
);
}
public function testGetCandidatesLimit()
{
$candidates = new Candidates(array(), 1);
$request = Request::create('/my/path/is/deep.html');
$paths = $candidates->getCandidates($request);
$this->assertEquals(
array(
'/my/path/is/deep.html',
'/my/path/is/deep',
),
$paths
);
}
}