summaryrefslogtreecommitdiff
path: root/server/vendor/guzzlehttp/psr7/tests/UriTest.php
diff options
context:
space:
mode:
authorEole <EoleDev@outlook.fr>2016-04-27 16:42:28 +0200
committerEole <EoleDev@outlook.fr>2016-04-27 16:42:28 +0200
commit49f416dc5061032e0514ea0cfeceaca37d13e432 (patch)
tree1202ac2a6fa860b8929afdc886c94fc50bd0a1de /server/vendor/guzzlehttp/psr7/tests/UriTest.php
parentc7edd70b5e5b0f5159c78ce3d924d4e7f60db816 (diff)
parentc9202d9113210981ae47df40511645da2ee140df (diff)
Merge branch 'develop' into Eole_Graph
Conflicts: client/index.html client/js/controllers/home/home.js client/partials/home/home.html
Diffstat (limited to 'server/vendor/guzzlehttp/psr7/tests/UriTest.php')
-rw-r--r--server/vendor/guzzlehttp/psr7/tests/UriTest.php281
1 files changed, 0 insertions, 281 deletions
diff --git a/server/vendor/guzzlehttp/psr7/tests/UriTest.php b/server/vendor/guzzlehttp/psr7/tests/UriTest.php
deleted file mode 100644
index 357ee25..0000000
--- a/server/vendor/guzzlehttp/psr7/tests/UriTest.php
+++ /dev/null
@@ -1,281 +0,0 @@
-<?php
-namespace GuzzleHttp\Tests\Psr7;
-
-use GuzzleHttp\Psr7\Uri;
-
-/**
- * @covers GuzzleHttp\Psr7\Uri
- */
-class UriTest extends \PHPUnit_Framework_TestCase
-{
- const RFC3986_BASE = "http://a/b/c/d;p?q";
-
- public function testParsesProvidedUrl()
- {
- $uri = new Uri('https://michael:test@test.com:443/path/123?q=abc#test');
-
- // Standard port 443 for https gets ignored.
- $this->assertEquals(
- 'https://michael:test@test.com/path/123?q=abc#test',
- (string) $uri
- );
-
- $this->assertEquals('test', $uri->getFragment());
- $this->assertEquals('test.com', $uri->getHost());
- $this->assertEquals('/path/123', $uri->getPath());
- $this->assertEquals(null, $uri->getPort());
- $this->assertEquals('q=abc', $uri->getQuery());
- $this->assertEquals('https', $uri->getScheme());
- $this->assertEquals('michael:test', $uri->getUserInfo());
- }
-
- /**
- * @expectedException \InvalidArgumentException
- * @expectedExceptionMessage Unable to parse URI
- */
- public function testValidatesUriCanBeParsed()
- {
- new Uri('///');
- }
-
- public function testCanTransformAndRetrievePartsIndividually()
- {
- $uri = (new Uri(''))
- ->withFragment('#test')
- ->withHost('example.com')
- ->withPath('path/123')
- ->withPort(8080)
- ->withQuery('?q=abc')
- ->withScheme('http')
- ->withUserInfo('user', 'pass');
-
- // Test getters.
- $this->assertEquals('user:pass@example.com:8080', $uri->getAuthority());
- $this->assertEquals('test', $uri->getFragment());
- $this->assertEquals('example.com', $uri->getHost());
- $this->assertEquals('path/123', $uri->getPath());
- $this->assertEquals(8080, $uri->getPort());
- $this->assertEquals('q=abc', $uri->getQuery());
- $this->assertEquals('http', $uri->getScheme());
- $this->assertEquals('user:pass', $uri->getUserInfo());
- }
-
- /**
- * @expectedException \InvalidArgumentException
- */
- public function testPortMustBeValid()
- {
- (new Uri(''))->withPort(100000);
- }
-
- /**
- * @expectedException \InvalidArgumentException
- */
- public function testPathMustBeValid()
- {
- (new Uri(''))->withPath([]);
- }
-
- /**
- * @expectedException \InvalidArgumentException
- */
- public function testQueryMustBeValid()
- {
- (new Uri(''))->withQuery(new \stdClass);
- }
-
- public function testAllowsFalseyUrlParts()
- {
- $url = new Uri('http://a:1/0?0#0');
- $this->assertSame('a', $url->getHost());
- $this->assertEquals(1, $url->getPort());
- $this->assertSame('/0', $url->getPath());
- $this->assertEquals('0', (string) $url->getQuery());
- $this->assertSame('0', $url->getFragment());
- $this->assertEquals('http://a:1/0?0#0', (string) $url);
- $url = new Uri('');
- $this->assertSame('', (string) $url);
- $url = new Uri('0');
- $this->assertSame('0', (string) $url);
- $url = new Uri('/');
- $this->assertSame('/', (string) $url);
- }
-
- /**
- * @dataProvider getResolveTestCases
- */
- public function testResolvesUris($base, $rel, $expected)
- {
- $uri = new Uri($base);
- $actual = Uri::resolve($uri, $rel);
- $this->assertEquals($expected, (string) $actual);
- }
-
- public function getResolveTestCases()
- {
- return [
- //[self::RFC3986_BASE, 'g:h', 'g:h'],
- [self::RFC3986_BASE, 'g', 'http://a/b/c/g'],
- [self::RFC3986_BASE, './g', 'http://a/b/c/g'],
- [self::RFC3986_BASE, 'g/', 'http://a/b/c/g/'],
- [self::RFC3986_BASE, '/g', 'http://a/g'],
- [self::RFC3986_BASE, '//g', 'http://g'],
- [self::RFC3986_BASE, '?y', 'http://a/b/c/d;p?y'],
- [self::RFC3986_BASE, 'g?y', 'http://a/b/c/g?y'],
- [self::RFC3986_BASE, '#s', 'http://a/b/c/d;p?q#s'],
- [self::RFC3986_BASE, 'g#s', 'http://a/b/c/g#s'],
- [self::RFC3986_BASE, 'g?y#s', 'http://a/b/c/g?y#s'],
- [self::RFC3986_BASE, ';x', 'http://a/b/c/;x'],
- [self::RFC3986_BASE, 'g;x', 'http://a/b/c/g;x'],
- [self::RFC3986_BASE, 'g;x?y#s', 'http://a/b/c/g;x?y#s'],
- [self::RFC3986_BASE, '', self::RFC3986_BASE],
- [self::RFC3986_BASE, '.', 'http://a/b/c/'],
- [self::RFC3986_BASE, './', 'http://a/b/c/'],
- [self::RFC3986_BASE, '..', 'http://a/b/'],
- [self::RFC3986_BASE, '../', 'http://a/b/'],
- [self::RFC3986_BASE, '../g', 'http://a/b/g'],
- [self::RFC3986_BASE, '../..', 'http://a/'],
- [self::RFC3986_BASE, '../../', 'http://a/'],
- [self::RFC3986_BASE, '../../g', 'http://a/g'],
- [self::RFC3986_BASE, '../../../g', 'http://a/g'],
- [self::RFC3986_BASE, '../../../../g', 'http://a/g'],
- [self::RFC3986_BASE, '/./g', 'http://a/g'],
- [self::RFC3986_BASE, '/../g', 'http://a/g'],
- [self::RFC3986_BASE, 'g.', 'http://a/b/c/g.'],
- [self::RFC3986_BASE, '.g', 'http://a/b/c/.g'],
- [self::RFC3986_BASE, 'g..', 'http://a/b/c/g..'],
- [self::RFC3986_BASE, '..g', 'http://a/b/c/..g'],
- [self::RFC3986_BASE, './../g', 'http://a/b/g'],
- [self::RFC3986_BASE, 'foo////g', 'http://a/b/c/foo////g'],
- [self::RFC3986_BASE, './g/.', 'http://a/b/c/g/'],
- [self::RFC3986_BASE, 'g/./h', 'http://a/b/c/g/h'],
- [self::RFC3986_BASE, 'g/../h', 'http://a/b/c/h'],
- [self::RFC3986_BASE, 'g;x=1/./y', 'http://a/b/c/g;x=1/y'],
- [self::RFC3986_BASE, 'g;x=1/../y', 'http://a/b/c/y'],
- ['http://u@a/b/c/d;p?q', '.', 'http://u@a/b/c/'],
- ['http://u:p@a/b/c/d;p?q', '.', 'http://u:p@a/b/c/'],
- ['http://a/b/c/d/', 'e', 'http://a/b/c/d/e'],
- ];
- }
-
- public function testAddAndRemoveQueryValues()
- {
- $uri = new Uri('http://foo.com/bar');
- $uri = Uri::withQueryValue($uri, 'a', 'b');
- $uri = Uri::withQueryValue($uri, 'c', 'd');
- $uri = Uri::withQueryValue($uri, 'e', null);
- $this->assertEquals('a=b&c=d&e', $uri->getQuery());
-
- $uri = Uri::withoutQueryValue($uri, 'c');
- $uri = Uri::withoutQueryValue($uri, 'e');
- $this->assertEquals('a=b', $uri->getQuery());
- $uri = Uri::withoutQueryValue($uri, 'a');
- $uri = Uri::withoutQueryValue($uri, 'a');
- $this->assertEquals('', $uri->getQuery());
- }
-
- public function testGetAuthorityReturnsCorrectPort()
- {
- // HTTPS non-standard port
- $uri = new Uri('https://foo.co:99');
- $this->assertEquals('foo.co:99', $uri->getAuthority());
-
- // HTTP non-standard port
- $uri = new Uri('http://foo.co:99');
- $this->assertEquals('foo.co:99', $uri->getAuthority());
-
- // No scheme
- $uri = new Uri('foo.co:99');
- $this->assertEquals('foo.co:99', $uri->getAuthority());
-
- // No host or port
- $uri = new Uri('http:');
- $this->assertEquals('', $uri->getAuthority());
-
- // No host or port
- $uri = new Uri('http://foo.co');
- $this->assertEquals('foo.co', $uri->getAuthority());
- }
-
- public function pathTestProvider()
- {
- return [
- // Percent encode spaces.
- ['http://foo.com/baz bar', 'http://foo.com/baz%20bar'],
- // Don't encoding something that's already encoded.
- ['http://foo.com/baz%20bar', 'http://foo.com/baz%20bar'],
- // Percent encode invalid percent encodings
- ['http://foo.com/baz%2-bar', 'http://foo.com/baz%252-bar'],
- // Don't encode path segments
- ['http://foo.com/baz/bar/bam?a', 'http://foo.com/baz/bar/bam?a'],
- ['http://foo.com/baz+bar', 'http://foo.com/baz+bar'],
- ['http://foo.com/baz:bar', 'http://foo.com/baz:bar'],
- ['http://foo.com/baz@bar', 'http://foo.com/baz@bar'],
- ['http://foo.com/baz(bar);bam/', 'http://foo.com/baz(bar);bam/'],
- ['http://foo.com/a-zA-Z0-9.-_~!$&\'()*+,;=:@', 'http://foo.com/a-zA-Z0-9.-_~!$&\'()*+,;=:@'],
- ];
- }
-
- /**
- * @dataProvider pathTestProvider
- */
- public function testUriEncodesPathProperly($input, $output)
- {
- $uri = new Uri($input);
- $this->assertEquals((string) $uri, $output);
- }
-
- public function testDoesNotAddPortWhenNoPort()
- {
- $this->assertEquals('bar', new Uri('//bar'));
- $this->assertEquals('bar', (new Uri('//bar'))->getHost());
- }
-
- public function testAllowsForRelativeUri()
- {
- $uri = (new Uri)->withPath('foo');
- $this->assertEquals('foo', $uri->getPath());
- $this->assertEquals('foo', (string) $uri);
- }
-
- public function testAddsSlashForRelativeUriStringWithHost()
- {
- $uri = (new Uri)->withPath('foo')->withHost('bar.com');
- $this->assertEquals('foo', $uri->getPath());
- $this->assertEquals('bar.com/foo', (string) $uri);
- }
-
- /**
- * @dataProvider pathTestNoAuthority
- */
- public function testNoAuthority($input)
- {
- $uri = new Uri($input);
-
- $this->assertEquals($input, (string) $uri);
- }
-
- public function pathTestNoAuthority()
- {
- return [
- // path-rootless
- ['urn:example:animal:ferret:nose'],
- // path-absolute
- ['urn:/example:animal:ferret:nose'],
- ['urn:/'],
- // path-empty
- ['urn:'],
- ['urn'],
- ];
- }
-
- /**
- * @expectedException \InvalidArgumentException
- * @expectedExceptionMessage Unable to parse URI
- */
- public function testNoAuthorityWithInvalidPath()
- {
- $input = 'urn://example:animal:ferret:nose';
- $uri = new Uri($input);
- }
-}