Expose private method used to parse URI strings.

This is useful for 3rd party libraries such as PredisServiceProvider
so it makes sense to have it public and static.
This commit is contained in:
Daniele Alessandri
2013-02-17 20:38:46 +01:00
parent 116eaba75e
commit a1df4f20da
2 changed files with 48 additions and 2 deletions
@@ -123,6 +123,52 @@ class ParametersTest extends StandardTestCase
$this->assertNull($unserialized->unknown);
}
/**
* @group disconnected
*/
public function testParsingURI()
{
$uri = 'tcp://10.10.10.10:6400?timeout=0.5&persistent=1';
$expected = array(
'scheme' => 'tcp',
'host' => '10.10.10.10',
'port' => 6400,
'timeout' => '0.5',
'persistent' => '1',
);
$this->assertSame($expected, ConnectionParameters::parseURI($uri));
}
/**
* @group disconnected
*/
public function testParsingUnixDomainURI()
{
$uri = 'unix:///tmp/redis.sock?timeout=0.5&persistent=1';
$expected = array(
'scheme' => 'unix',
'host' => 'localhost',
'path' => '/tmp/redis.sock',
'timeout' => '0.5',
'persistent' => '1',
);
$this->assertSame($expected, ConnectionParameters::parseURI($uri));
}
/**
* @group disconnected
* @expectedException Predis\ClientException
* @expectedExceptionMessage Invalid URI: tcp://invalid:uri
*/
public function testParsingURIThrowOnInvalidURI()
{
ConnectionParameters::parseURI('tcp://invalid:uri');
}
// ******************************************************************** //
// ---- HELPER METHODS ------------------------------------------------ //
// ******************************************************************** //