X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=vendor%2Fsymfony%2Fhttp-foundation%2FTests%2FRequestTest.php;fp=vendor%2Fsymfony%2Fhttp-foundation%2FTests%2FRequestTest.php;h=48d8d6af59f9f53f531a24817d3b5e64213d3f82;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hp=b1d69b64c6dd857b56ef87ac671f511b40a78694;hpb=aea91e65e895364e460983b890e295aa5d5540a5;p=yaffs-website diff --git a/vendor/symfony/http-foundation/Tests/RequestTest.php b/vendor/symfony/http-foundation/Tests/RequestTest.php index b1d69b64c..48d8d6af5 100644 --- a/vendor/symfony/http-foundation/Tests/RequestTest.php +++ b/vendor/symfony/http-foundation/Tests/RequestTest.php @@ -295,7 +295,7 @@ class RequestTest extends TestCase } /** - * @dataProvider getFormatToMimeTypeMapProvider + * @dataProvider getFormatToMimeTypeMapProviderWithAdditionalNullFormat */ public function testGetFormatFromMimeType($format, $mimeTypes) { @@ -313,12 +313,44 @@ class RequestTest extends TestCase } } + public function getFormatToMimeTypeMapProviderWithAdditionalNullFormat() + { + return array_merge( + array(array(null, array(null, 'unexistent-mime-type'))), + $this->getFormatToMimeTypeMapProvider() + ); + } + public function testGetFormatFromMimeTypeWithParameters() { $request = new Request(); $this->assertEquals('json', $request->getFormat('application/json; charset=utf-8')); } + /** + * @dataProvider getFormatToMimeTypeMapProvider + */ + public function testGetMimeTypeFromFormat($format, $mimeTypes) + { + $request = new Request(); + $this->assertEquals($mimeTypes[0], $request->getMimeType($format)); + } + + /** + * @dataProvider getFormatToMimeTypeMapProvider + */ + public function testGetMimeTypesFromFormat($format, $mimeTypes) + { + $this->assertEquals($mimeTypes, Request::getMimeTypes($format)); + } + + public function testGetMimeTypesFromInexistentFormat() + { + $request = new Request(); + $this->assertNull($request->getMimeType('foo')); + $this->assertEquals(array(), Request::getMimeTypes('foo')); + } + public function testGetFormatWithCustomMimeType() { $request = new Request(); @@ -329,7 +361,6 @@ class RequestTest extends TestCase public function getFormatToMimeTypeMapProvider() { return array( - array(null, array(null, 'unexistent-mime-type')), array('txt', array('text/plain')), array('js', array('application/javascript', 'application/x-javascript', 'text/javascript')), array('css', array('text/css')), @@ -1267,6 +1298,25 @@ class RequestTest extends TestCase $this->assertEquals('/', $request->getPathInfo()); } + public function testGetParameterPrecedence() + { + $request = new Request(); + $request->attributes->set('foo', 'attr'); + $request->query->set('foo', 'query'); + $request->request->set('foo', 'body'); + + $this->assertSame('attr', $request->get('foo')); + + $request->attributes->remove('foo'); + $this->assertSame('query', $request->get('foo')); + + $request->query->remove('foo'); + $this->assertSame('body', $request->get('foo')); + + $request->request->remove('foo'); + $this->assertNull($request->get('foo')); + } + public function testGetPreferredLanguage() { $request = new Request(); @@ -1413,6 +1463,9 @@ class RequestTest extends TestCase $request = new Request(); $this->assertNull($request->setRequestFormat('foo')); $this->assertEquals('foo', $request->getRequestFormat(null)); + + $request = new Request(array('_format' => 'foo')); + $this->assertEquals('html', $request->getRequestFormat()); } public function testHasSession() @@ -1984,6 +2037,32 @@ class RequestTest extends TestCase ); } + /** + * @dataProvider methodIdempotentProvider + */ + public function testMethodIdempotent($method, $idempotent) + { + $request = new Request(); + $request->setMethod($method); + $this->assertEquals($idempotent, $request->isMethodIdempotent()); + } + + public function methodIdempotentProvider() + { + return array( + array('HEAD', true), + array('GET', true), + array('POST', false), + array('PUT', true), + array('PATCH', false), + array('DELETE', true), + array('PURGE', true), + array('OPTIONS', true), + array('TRACE', true), + array('CONNECT', false), + ); + } + /** * @dataProvider methodSafeProvider */ @@ -2010,6 +2089,10 @@ class RequestTest extends TestCase ); } + /** + * @group legacy + * @expectedDeprecation Checking only for cacheable HTTP methods with Symfony\Component\HttpFoundation\Request::isMethodSafe() is deprecated since version 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. + */ public function testMethodSafeChecksCacheable() { $request = new Request();