Update Composer, update everything
This commit is contained in:
parent
ea3e94409f
commit
dda5c284b6
19527 changed files with 1135420 additions and 351004 deletions
177
vendor/consolidation/site-alias/tests/SiteSpecParserTest.php
vendored
Normal file
177
vendor/consolidation/site-alias/tests/SiteSpecParserTest.php
vendored
Normal file
|
@ -0,0 +1,177 @@
|
|||
<?php
|
||||
namespace Consolidation\SiteAlias;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class SiteSpecParserTest extends TestCase
|
||||
{
|
||||
use FixtureFactory;
|
||||
|
||||
/**
|
||||
* @dataProvider parserTestValues
|
||||
*/
|
||||
public function testSiteSpecParser(
|
||||
$spec,
|
||||
$expected)
|
||||
{
|
||||
$root = $this->siteDir();
|
||||
$fixtureSite = '/' . basename($root);
|
||||
$parser = new SiteSpecParser();
|
||||
|
||||
// If the test spec begins with '/fixtures', substitute the
|
||||
// actual path to our fixture site.
|
||||
$spec = preg_replace('%^/fixtures%', $root, $spec);
|
||||
|
||||
// Make sure that our spec is valid
|
||||
$this->assertTrue($parser->validSiteSpec($spec));
|
||||
|
||||
// Parse it!
|
||||
$result = $parser->parse($spec, $root);
|
||||
|
||||
// If the result contains the path to our fixtures site, replace
|
||||
// it with the simple string '/fixtures'.
|
||||
if (isset($result['root'])) {
|
||||
$result['root'] = preg_replace("%.*$fixtureSite%", '/fixtures', $result['root']);
|
||||
}
|
||||
|
||||
// Compare the altered result with the expected value.
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider validSiteSpecs
|
||||
*/
|
||||
public function testValidSiteSpecs($spec)
|
||||
{
|
||||
$this->isSpecValid($spec, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider invalidSiteSpecs
|
||||
*/
|
||||
public function testInvalidSiteSpecs($spec)
|
||||
{
|
||||
$this->isSpecValid($spec, false);
|
||||
}
|
||||
|
||||
protected function isSpecValid($spec, $expected)
|
||||
{
|
||||
$parser = new SiteSpecParser();
|
||||
|
||||
$result = $parser->validSiteSpec($spec);
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public static function validSiteSpecs()
|
||||
{
|
||||
return [
|
||||
[ '/path/to/drupal#uri' ],
|
||||
[ 'user@server/path/to/drupal#uri' ],
|
||||
[ 'user.name@example.com/path/to/drupal#uri' ],
|
||||
[ 'user@server/path/to/drupal' ],
|
||||
[ 'user@example.com/path/to/drupal' ],
|
||||
[ 'user@server#uri' ],
|
||||
[ 'user@example.com#uri' ],
|
||||
[ '#uri' ],
|
||||
];
|
||||
}
|
||||
|
||||
public static function invalidSiteSpecs()
|
||||
{
|
||||
return [
|
||||
[ 'uri' ],
|
||||
[ '@/#' ],
|
||||
[ 'user@#uri' ],
|
||||
[ '@server/path/to/drupal#uri' ],
|
||||
[ 'user@server/path/to/drupal#' ],
|
||||
[ 'user@server/path/to/drupal#uri!' ],
|
||||
[ 'user@server/path/to/drupal##uri' ],
|
||||
[ 'user#server/path/to/drupal#uri' ],
|
||||
];
|
||||
}
|
||||
|
||||
public static function parserTestValues()
|
||||
{
|
||||
return [
|
||||
[
|
||||
'user@server/path#somemultisite',
|
||||
[
|
||||
'user' => 'user',
|
||||
'host' => 'server',
|
||||
'root' => '/path',
|
||||
'uri' => 'somemultisite',
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'user.name@example.com/path#somemultisite',
|
||||
[
|
||||
'user' => 'user.name',
|
||||
'host' => 'example.com',
|
||||
'root' => '/path',
|
||||
'uri' => 'somemultisite',
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'user@server/path',
|
||||
[
|
||||
'user' => 'user',
|
||||
'host' => 'server',
|
||||
'root' => '/path',
|
||||
'uri' => 'default',
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'user.name@example.com/path',
|
||||
[
|
||||
'user' => 'user.name',
|
||||
'host' => 'example.com',
|
||||
'root' => '/path',
|
||||
'uri' => 'default',
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'/fixtures#mymultisite',
|
||||
[
|
||||
'root' => '/fixtures',
|
||||
'uri' => 'mymultisite',
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'#mymultisite',
|
||||
[
|
||||
'root' => '/fixtures',
|
||||
'uri' => 'mymultisite',
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'/fixtures#somemultisite',
|
||||
[
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'/path#somemultisite',
|
||||
[
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'/path#mymultisite',
|
||||
[
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'#somemultisite',
|
||||
[
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
Reference in a new issue