1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
<?php
namespace Piwik\Plugins\Installation\tests\Unit;
use Piwik\Plugins\Installation\HostPortExtractor;
class HostPortExtractorTest extends \PHPUnit\Framework\TestCase
{
public function validInputs()
{
return [
['127.0.0.1:3000', ['127.0.0.1', '3000']],
['localhost:3000', ['localhost', '3000']],
['/test/path/socket', ['', '/test/path/socket']],
['[2001:db8:3333:4444:5555:6666:7777:8888]', ['[2001:db8:3333:4444:5555:6666:7777:8888]', '']],
['[2001:db8:3333:4444:5555:6666:7777:8888]:3000', ['[2001:db8:3333:4444:5555:6666:7777:8888]', '3000']],
['[2001::8888]', ['[2001::8888]', '']],
['[2001::8888]:3000', ['[2001::8888]', '3000']],
];
}
public function invalidInputs()
{
return [
['127.0.0.1'],
['localhost'],
['2001::8888'],
['[2001::db8::8888]'],
['[200r::11zz]'],
['a [2001::8888] a'],
['[::]:3000a'],
];
}
/**
* @dataProvider validInputs
*/
public function testValidDbHosts($input, $expected)
{
$extractedHostAndPort = HostPortExtractor::extract($input);
$this->assertEquals($extractedHostAndPort->host, $expected[0]);
$this->assertEquals($extractedHostAndPort->port, $expected[1]);
}
/**
* @dataProvider invalidInputs
*/
public function testInvalidDbHosts($input)
{
$extractedHostAndPort = HostPortExtractor::extract($input);
$this->assertNull($extractedHostAndPort);
}
}
|