Laravel 5.6 updates
Travis config update Removed HHVM script as Laravel no longer support HHVM after releasing 5.3
This commit is contained in:
172
vendor/symfony/http-foundation/Tests/RequestTest.php
vendored
172
vendor/symfony/http-foundation/Tests/RequestTest.php
vendored
@@ -675,7 +675,7 @@ class RequestTest extends TestCase
|
||||
public function getQueryStringNormalizationData()
|
||||
{
|
||||
return array(
|
||||
array('foo', 'foo', 'works with valueless parameters'),
|
||||
array('foo', 'foo=', 'works with valueless parameters'),
|
||||
array('foo=', 'foo=', 'includes a dangling equal sign'),
|
||||
array('bar=&foo=bar', 'bar=&foo=bar', '->works with empty parameters'),
|
||||
array('foo=bar&bar=', 'bar=&foo=bar', 'sorts keys alphabetically'),
|
||||
@@ -684,18 +684,24 @@ class RequestTest extends TestCase
|
||||
// PHP also converts "+" to spaces when filling the global _GET or when using the function parse_str.
|
||||
array('him=John%20Doe&her=Jane+Doe', 'her=Jane%20Doe&him=John%20Doe', 'normalizes spaces in both encodings "%20" and "+"'),
|
||||
|
||||
array('foo[]=1&foo[]=2', 'foo%5B%5D=1&foo%5B%5D=2', 'allows array notation'),
|
||||
array('foo=1&foo=2', 'foo=1&foo=2', 'allows repeated parameters'),
|
||||
array('foo[]=1&foo[]=2', 'foo%5B0%5D=1&foo%5B1%5D=2', 'allows array notation'),
|
||||
array('foo=1&foo=2', 'foo=2', 'merges repeated parameters'),
|
||||
array('pa%3Dram=foo%26bar%3Dbaz&test=test', 'pa%3Dram=foo%26bar%3Dbaz&test=test', 'works with encoded delimiters'),
|
||||
array('0', '0', 'allows "0"'),
|
||||
array('Jane Doe&John%20Doe', 'Jane%20Doe&John%20Doe', 'normalizes encoding in keys'),
|
||||
array('0', '0=', 'allows "0"'),
|
||||
array('Jane Doe&John%20Doe', 'Jane_Doe=&John_Doe=', 'normalizes encoding in keys'),
|
||||
array('her=Jane Doe&him=John%20Doe', 'her=Jane%20Doe&him=John%20Doe', 'normalizes encoding in values'),
|
||||
array('foo=bar&&&test&&', 'foo=bar&test', 'removes unneeded delimiters'),
|
||||
array('foo=bar&&&test&&', 'foo=bar&test=', 'removes unneeded delimiters'),
|
||||
array('formula=e=m*c^2', 'formula=e%3Dm%2Ac%5E2', 'correctly treats only the first "=" as delimiter and the next as value'),
|
||||
|
||||
// Ignore pairs with empty key, even if there was a value, e.g. "=value", as such nameless values cannot be retrieved anyway.
|
||||
// PHP also does not include them when building _GET.
|
||||
array('foo=bar&=a=b&=x=y', 'foo=bar', 'removes params with empty key'),
|
||||
|
||||
// Don't reorder nested query string keys
|
||||
array('foo[]=Z&foo[]=A', 'foo%5B0%5D=Z&foo%5B1%5D=A', 'keeps order of values'),
|
||||
array('foo[Z]=B&foo[A]=B', 'foo%5BZ%5D=B&foo%5BA%5D=B', 'keeps order of keys'),
|
||||
|
||||
array('utf8=✓', 'utf8=%E2%9C%93', 'encodes UTF-8'),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -893,7 +899,7 @@ class RequestTest extends TestCase
|
||||
array(array('127.0.0.1'), '127.0.0.1', 'for="_gazonk"', array('127.0.0.1')),
|
||||
array(array('88.88.88.88'), '127.0.0.1', 'for="88.88.88.88:80"', array('127.0.0.1')),
|
||||
array(array('192.0.2.60'), '::1', 'for=192.0.2.60;proto=http;by=203.0.113.43', array('::1')),
|
||||
array(array('2620:0:1cfe:face:b00c::3', '192.0.2.43'), '::1', 'for=192.0.2.43, for=2620:0:1cfe:face:b00c::3', array('::1')),
|
||||
array(array('2620:0:1cfe:face:b00c::3', '192.0.2.43'), '::1', 'for=192.0.2.43, for="[2620:0:1cfe:face:b00c::3]"', array('::1')),
|
||||
array(array('2001:db8:cafe::17'), '::1', 'for="[2001:db8:cafe::17]:4711', array('::1')),
|
||||
);
|
||||
}
|
||||
@@ -1077,21 +1083,6 @@ class RequestTest extends TestCase
|
||||
$this->assertEquals('My other content', $req->getContent());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \LogicException
|
||||
* @dataProvider getContentCantBeCalledTwiceWithResourcesProvider
|
||||
*/
|
||||
public function testGetContentCantBeCalledTwiceWithResources($first, $second)
|
||||
{
|
||||
if (\PHP_VERSION_ID >= 50600) {
|
||||
$this->markTestSkipped('PHP >= 5.6 allows to open php://input several times.');
|
||||
}
|
||||
|
||||
$req = new Request();
|
||||
$req->getContent($first);
|
||||
$req->getContent($second);
|
||||
}
|
||||
|
||||
public function getContentCantBeCalledTwiceWithResourcesProvider()
|
||||
{
|
||||
return array(
|
||||
@@ -1102,7 +1093,6 @@ class RequestTest extends TestCase
|
||||
|
||||
/**
|
||||
* @dataProvider getContentCanBeCalledTwiceWithResourcesProvider
|
||||
* @requires PHP 5.6
|
||||
*/
|
||||
public function testGetContentCanBeCalledTwiceWithResources($first, $second)
|
||||
{
|
||||
@@ -1512,6 +1502,15 @@ class RequestTest extends TestCase
|
||||
$this->assertObjectHasAttribute('attributeName', $session);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
* @expectedDeprecation Calling "Symfony\Component\HttpFoundation\Request::getSession()" when no session has been set is deprecated since Symfony 4.1 and will throw an exception in 5.0. Use "hasSession()" instead.
|
||||
*/
|
||||
public function testGetSessionNullable()
|
||||
{
|
||||
(new Request())->getSession();
|
||||
}
|
||||
|
||||
public function testHasPreviousSession()
|
||||
{
|
||||
$request = new Request();
|
||||
@@ -1769,53 +1768,6 @@ class RequestTest extends TestCase
|
||||
$this->assertTrue($request->isSecure());
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
* @expectedDeprecation The "Symfony\Component\HttpFoundation\Request::setTrustedHeaderName()" method is deprecated since Symfony 3.3 and will be removed in 4.0. Use the $trustedHeaderSet argument of the Request::setTrustedProxies() method instead.
|
||||
*/
|
||||
public function testLegacyTrustedProxies()
|
||||
{
|
||||
$request = Request::create('http://example.com/');
|
||||
$request->server->set('REMOTE_ADDR', '3.3.3.3');
|
||||
$request->headers->set('X_FORWARDED_FOR', '1.1.1.1, 2.2.2.2');
|
||||
$request->headers->set('X_FORWARDED_HOST', 'foo.example.com, real.example.com:8080');
|
||||
$request->headers->set('X_FORWARDED_PROTO', 'https');
|
||||
$request->headers->set('X_FORWARDED_PORT', 443);
|
||||
$request->headers->set('X_MY_FOR', '3.3.3.3, 4.4.4.4');
|
||||
$request->headers->set('X_MY_HOST', 'my.example.com');
|
||||
$request->headers->set('X_MY_PROTO', 'http');
|
||||
$request->headers->set('X_MY_PORT', 81);
|
||||
|
||||
Request::setTrustedProxies(array('3.3.3.3', '2.2.2.2'), Request::HEADER_X_FORWARDED_ALL);
|
||||
|
||||
// custom header names
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, 'X_MY_FOR');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, 'X_MY_HOST');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, 'X_MY_PORT');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, 'X_MY_PROTO');
|
||||
$this->assertEquals('4.4.4.4', $request->getClientIp());
|
||||
$this->assertEquals('my.example.com', $request->getHost());
|
||||
$this->assertEquals(81, $request->getPort());
|
||||
$this->assertFalse($request->isSecure());
|
||||
|
||||
// disabling via empty header names
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, null);
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, null);
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, null);
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, null);
|
||||
$this->assertEquals('3.3.3.3', $request->getClientIp());
|
||||
$this->assertEquals('example.com', $request->getHost());
|
||||
$this->assertEquals(80, $request->getPort());
|
||||
$this->assertFalse($request->isSecure());
|
||||
|
||||
//reset
|
||||
Request::setTrustedHeaderName(Request::HEADER_FORWARDED, 'FORWARDED');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, 'X_FORWARDED_FOR');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, 'X_FORWARDED_HOST');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, 'X_FORWARDED_PORT');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, 'X_FORWARDED_PROTO');
|
||||
}
|
||||
|
||||
public function testTrustedProxiesForwarded()
|
||||
{
|
||||
$request = Request::create('http://example.com/');
|
||||
@@ -1865,26 +1817,6 @@ class RequestTest extends TestCase
|
||||
$this->assertTrue($request->isSecure());
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
* @expectedException \InvalidArgumentException
|
||||
*/
|
||||
public function testSetTrustedProxiesInvalidHeaderName()
|
||||
{
|
||||
Request::create('http://example.com/');
|
||||
Request::setTrustedHeaderName('bogus name', 'X_MY_FOR');
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
* @expectedException \InvalidArgumentException
|
||||
*/
|
||||
public function testGetTrustedProxiesInvalidHeaderName()
|
||||
{
|
||||
Request::create('http://example.com/');
|
||||
Request::getTrustedHeaderName('bogus name');
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider iisRequestUriProvider
|
||||
*/
|
||||
@@ -2102,14 +2034,13 @@ class RequestTest extends TestCase
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
* @expectedDeprecation Checking only for cacheable HTTP methods with Symfony\Component\HttpFoundation\Request::isMethodSafe() is deprecated since Symfony 3.2 and will throw an exception in 4.0. Disable checking only for cacheable methods by calling the method with `false` as first argument or use the Request::isMethodCacheable() instead.
|
||||
* @expectedException \BadMethodCallException
|
||||
*/
|
||||
public function testMethodSafeChecksCacheable()
|
||||
{
|
||||
$request = new Request();
|
||||
$request->setMethod('OPTIONS');
|
||||
$this->assertFalse($request->isMethodSafe());
|
||||
$request->isMethodSafe();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2138,61 +2069,6 @@ class RequestTest extends TestCase
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
*/
|
||||
public function testGetTrustedHeaderName()
|
||||
{
|
||||
Request::setTrustedProxies(array('8.8.8.8'), Request::HEADER_X_FORWARDED_ALL);
|
||||
|
||||
$this->assertNull(Request::getTrustedHeaderName(Request::HEADER_FORWARDED));
|
||||
$this->assertSame('X_FORWARDED_FOR', Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP));
|
||||
$this->assertSame('X_FORWARDED_HOST', Request::getTrustedHeaderName(Request::HEADER_CLIENT_HOST));
|
||||
$this->assertSame('X_FORWARDED_PORT', Request::getTrustedHeaderName(Request::HEADER_CLIENT_PORT));
|
||||
$this->assertSame('X_FORWARDED_PROTO', Request::getTrustedHeaderName(Request::HEADER_CLIENT_PROTO));
|
||||
|
||||
Request::setTrustedProxies(array('8.8.8.8'), Request::HEADER_FORWARDED);
|
||||
|
||||
$this->assertSame('FORWARDED', Request::getTrustedHeaderName(Request::HEADER_FORWARDED));
|
||||
$this->assertNull(Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP));
|
||||
$this->assertNull(Request::getTrustedHeaderName(Request::HEADER_CLIENT_HOST));
|
||||
$this->assertNull(Request::getTrustedHeaderName(Request::HEADER_CLIENT_PORT));
|
||||
$this->assertNull(Request::getTrustedHeaderName(Request::HEADER_CLIENT_PROTO));
|
||||
|
||||
Request::setTrustedHeaderName(Request::HEADER_FORWARDED, 'A');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, 'B');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, 'C');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, 'D');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, 'E');
|
||||
|
||||
Request::setTrustedProxies(array('8.8.8.8'), Request::HEADER_FORWARDED);
|
||||
|
||||
$this->assertSame('A', Request::getTrustedHeaderName(Request::HEADER_FORWARDED));
|
||||
$this->assertNull(Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP));
|
||||
$this->assertNull(Request::getTrustedHeaderName(Request::HEADER_CLIENT_HOST));
|
||||
$this->assertNull(Request::getTrustedHeaderName(Request::HEADER_CLIENT_PORT));
|
||||
$this->assertNull(Request::getTrustedHeaderName(Request::HEADER_CLIENT_PROTO));
|
||||
|
||||
Request::setTrustedProxies(array('8.8.8.8'), Request::HEADER_X_FORWARDED_ALL);
|
||||
|
||||
$this->assertNull(Request::getTrustedHeaderName(Request::HEADER_FORWARDED));
|
||||
$this->assertSame('B', Request::getTrustedHeaderName(Request::HEADER_CLIENT_IP));
|
||||
$this->assertSame('C', Request::getTrustedHeaderName(Request::HEADER_CLIENT_HOST));
|
||||
$this->assertSame('D', Request::getTrustedHeaderName(Request::HEADER_CLIENT_PORT));
|
||||
$this->assertSame('E', Request::getTrustedHeaderName(Request::HEADER_CLIENT_PROTO));
|
||||
|
||||
Request::setTrustedProxies(array('8.8.8.8'), Request::HEADER_FORWARDED);
|
||||
|
||||
$this->assertSame('A', Request::getTrustedHeaderName(Request::HEADER_FORWARDED));
|
||||
|
||||
//reset
|
||||
Request::setTrustedHeaderName(Request::HEADER_FORWARDED, 'FORWARDED');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, 'X_FORWARDED_FOR');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, 'X_FORWARDED_HOST');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, 'X_FORWARDED_PORT');
|
||||
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, 'X_FORWARDED_PROTO');
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider protocolVersionProvider
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user