scratch

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 125  →  ?path2? @ 126
/vendor/aura/uri/tests/Aura/Uri/UrlTest.php
@@ -0,0 +1,210 @@
<?php
namespace Aura\Uri;
 
use Aura\Uri\Url\Factory as UrlFactory;
 
/**
* Test class for Url.
* Generated by PHPUnit on 2012-07-21 at 15:46:30.
*/
class UrlTest extends \PHPUnit_Framework_TestCase
{
/**
* @var Url
*/
protected $url;
 
/**
* @var string Url spec
*/
protected $spec = 'http://anonymous:guest@example.com/path/to/index.php/foo/bar.xml?baz=dib#anchor';
 
/**
* @var PublicSuffixList Public Suffix List
*/
protected $psl;
 
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp()
{
parent::setUp();
$file = dirname(dirname(dirname(__DIR__))) . DIRECTORY_SEPARATOR
. 'data' . DIRECTORY_SEPARATOR
. 'public-suffix-list.php';
$this->psl = new PublicSuffixList(require $file);
$factory = new UrlFactory([], $this->psl);
$this->url = $factory->newInstance($this->spec);
}
 
/**
* Tears down the fixture, for example, closes a network connection.
* This method is called after a test is executed.
*/
protected function tearDown()
{
parent::tearDown();
}
 
public function test__construct()
{
$url = new Url(
'http',
'username',
'password',
new Host(
$this->psl,
[
'subdomain' => null,
'registerableDomain' => 'example.com',
'publicSuffix' => 'com'
]
),
'80',
new Path(['foo', 'bar']),
new Query(['baz' => 'dib', 'zim' => 'gir']),
'fragment'
);
 
$this->assertInstanceOf('Aura\Uri\Url', $url);
}
 
/**
* @covers Aura\Uri\Url::__toString
*/
public function test__toString()
{
$actual = $this->url->__toString();
$this->assertSame($this->spec, $actual);
}
 
/**
* @covers Aura\Uri\Url::__get
*/
public function test__get()
{
$expected = [
'scheme' => 'http',
'user' => 'anonymous',
'pass' => 'guest',
'host' => 'example.com',
'fragment' => 'anchor'
];
$this->assertEquals($expected['scheme'], $this->url->scheme);
$this->assertEquals($expected['user'], $this->url->user);
$this->assertEquals($expected['pass'], $this->url->pass);
$this->assertEquals($expected['host'], $this->url->host);
$this->assertEquals($expected['fragment'], $this->url->fragment);
}
 
/**
* @covers Aura\Uri\Url::get
*/
public function testGet()
{
$actual = $this->url->get();
$expected = '/path/to/index.php/foo/bar.xml?baz=dib#anchor';
$this->assertSame($expected, $actual);
}
 
/**
* @covers Aura\Uri\Url::getFull
*/
public function testGetFull()
{
$actual = $this->url->getFull();
$this->assertSame($this->spec, $actual);
}
 
/**
* @covers Aura\Uri\Url::getSchemeless
*/
public function testGetSchemeless()
{
$schemeless = substr_replace($this->spec, '', 0, 5);
$actual = $this->url->getSchemeless();
$this->assertSame($schemeless, $actual);
}
 
/**
* @covers Aura\Uri\Url::setScheme
*/
public function testSetScheme()
{
$scheme = 'https';
$this->url->setScheme($scheme);
$this->assertSame($scheme, $this->url->scheme);
}
 
/**
* @covers Aura\Uri\Url::setUser
*/
public function testSetUser()
{
$guest = 'guest';
$this->url->setUser($guest);
$this->assertSame($guest, $this->url->user);
}
 
/**
* @covers Aura\Uri\Url::setPass
*/
public function testSetPass()
{
$password = 'password';
$this->url->setPass($password);
$this->assertSame($password, $this->url->pass);
}
 
/**
* @covers Aura\Uri\Url::setHost
*/
public function testSetHost()
{
$host = new Host($this->psl);
$this->url->setHost($host);
$this->assertSame($host, $this->url->host);
}
 
/**
* @covers Aura\Uri\Url::setPort
*/
public function testSetPort()
{
$port = '8000';
$this->url->setPort($port);
$this->assertSame($port, $this->url->port);
}
 
/**
* @covers Aura\Uri\Url::setPath
*/
public function testSetPath()
{
$path = new Path();
$this->url->setPath($path);
$this->assertSame($path, $this->url->path);
}
 
/**
* @covers Aura\Uri\Url::setQuery
*/
public function testSetQuery()
{
$query = new Query();
$this->url->setQuery($query);
$this->assertSame($query, $this->url->query);
}
 
/**
* @covers Aura\Uri\Url::setFragment
*/
public function testSetFragment()
{
$fragment = '#hello';
$this->url->setFragment($fragment);
$this->assertSame($fragment, $this->url->fragment);
}
}