summaryrefslogtreecommitdiff
path: root/vendor/symfony/http-foundation/Tests
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/symfony/http-foundation/Tests')
-rw-r--r--vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php1
-rw-r--r--vendor/symfony/http-foundation/Tests/File/FileTest.php45
-rw-r--r--vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php9
-rw-r--r--vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php2
-rw-r--r--vendor/symfony/http-foundation/Tests/JsonResponseTest.php6
-rw-r--r--vendor/symfony/http-foundation/Tests/Test/Constraint/RequestAttributeValueSameTest.php41
-rw-r--r--vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseCookieValueSameTest.php44
-rw-r--r--vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHasCookieTest.php42
-rw-r--r--vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHasHeaderTest.php39
-rw-r--r--vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHeaderSameTest.php39
-rw-r--r--vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseIsRedirectedTest.php39
-rw-r--r--vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseIsSuccessfulTest.php39
-rw-r--r--vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseStatusCodeSameTest.php41
-rw-r--r--vendor/symfony/http-foundation/Tests/UrlHelperTest.php143
14 files changed, 481 insertions, 49 deletions
diff --git a/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php b/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php
index 9f3beb08d1..effffe925b 100644
--- a/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php
+++ b/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php
@@ -339,6 +339,7 @@ class BinaryFileResponseTest extends ResponseTestCase
['/var/www/var/www/files/foo.txt', '/var/www/=/files/', '/files/var/www/files/foo.txt'],
['/home/Foo/bar.txt', '/var/www/=/files/,/home/Foo/=/baz/', '/baz/bar.txt'],
['/home/Foo/bar.txt', '"/var/www/"="/files/", "/home/Foo/"="/baz/"', '/baz/bar.txt'],
+ ['/tmp/bar.txt', '"/var/www/"="/files/", "/home/Foo/"="/baz/"', null],
];
}
diff --git a/vendor/symfony/http-foundation/Tests/File/FileTest.php b/vendor/symfony/http-foundation/Tests/File/FileTest.php
index fb82dae768..9c1854d902 100644
--- a/vendor/symfony/http-foundation/Tests/File/FileTest.php
+++ b/vendor/symfony/http-foundation/Tests/File/FileTest.php
@@ -13,8 +13,10 @@ namespace Symfony\Component\HttpFoundation\Tests\File;
use PHPUnit\Framework\TestCase;
use Symfony\Component\HttpFoundation\File\File;
-use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser;
+/**
+ * @requires extension fileinfo
+ */
class FileTest extends TestCase
{
protected $file;
@@ -22,50 +24,24 @@ class FileTest extends TestCase
public function testGetMimeTypeUsesMimeTypeGuessers()
{
$file = new File(__DIR__.'/Fixtures/test.gif');
- $guesser = $this->createMockGuesser($file->getPathname(), 'image/gif');
-
- MimeTypeGuesser::getInstance()->register($guesser);
-
$this->assertEquals('image/gif', $file->getMimeType());
}
public function testGuessExtensionWithoutGuesser()
{
$file = new File(__DIR__.'/Fixtures/directory/.empty');
-
$this->assertNull($file->guessExtension());
}
public function testGuessExtensionIsBasedOnMimeType()
{
$file = new File(__DIR__.'/Fixtures/test');
- $guesser = $this->createMockGuesser($file->getPathname(), 'image/gif');
-
- MimeTypeGuesser::getInstance()->register($guesser);
-
$this->assertEquals('gif', $file->guessExtension());
}
- /**
- * @requires extension fileinfo
- */
- public function testGuessExtensionWithReset()
- {
- $file = new File(__DIR__.'/Fixtures/other-file.example');
- $guesser = $this->createMockGuesser($file->getPathname(), 'image/gif');
- MimeTypeGuesser::getInstance()->register($guesser);
-
- $this->assertEquals('gif', $file->guessExtension());
-
- MimeTypeGuesser::reset();
-
- $this->assertNull($file->guessExtension());
- }
-
public function testConstructWhenFileNotExists()
{
- $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
-
+ $this->expectException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
new File(__DIR__.'/Fixtures/not_here');
}
@@ -164,17 +140,4 @@ class FileTest extends TestCase
@unlink($targetPath);
@rmdir($targetDir);
}
-
- protected function createMockGuesser($path, $mimeType)
- {
- $guesser = $this->getMockBuilder('Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface')->getMock();
- $guesser
- ->expects($this->once())
- ->method('guess')
- ->with($this->equalTo($path))
- ->will($this->returnValue($mimeType))
- ;
-
- return $guesser;
- }
}
diff --git a/vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php b/vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php
index bb88807ab0..f990a4f3b5 100644
--- a/vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php
+++ b/vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php
@@ -17,11 +17,10 @@ use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser;
/**
* @requires extension fileinfo
+ * @group legacy
*/
class MimeTypeTest extends TestCase
{
- protected $path;
-
public function testGuessImageWithoutExtension()
{
$this->assertEquals('image/gif', MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test'));
@@ -29,7 +28,7 @@ class MimeTypeTest extends TestCase
public function testGuessImageWithDirectory()
{
- $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
+ $this->expectException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/directory');
}
@@ -53,7 +52,7 @@ class MimeTypeTest extends TestCase
public function testGuessWithIncorrectPath()
{
- $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
+ $this->expectException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/not_here');
}
@@ -72,7 +71,7 @@ class MimeTypeTest extends TestCase
@chmod($path, 0333);
if ('0333' == substr(sprintf('%o', fileperms($path)), -4)) {
- $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException');
+ $this->expectException('Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException');
MimeTypeGuesser::getInstance()->guess($path);
} else {
$this->markTestSkipped('Can not verify chmod operations, change of file permissions failed');
diff --git a/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php b/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php
index 8f5f48a066..8518df266e 100644
--- a/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php
+++ b/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php
@@ -33,7 +33,7 @@ class UploadedFileTest extends TestCase
public function testConstructWhenFileNotExists()
{
- $this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
+ $this->expectException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
new UploadedFile(
__DIR__.'/Fixtures/not_here',
diff --git a/vendor/symfony/http-foundation/Tests/JsonResponseTest.php b/vendor/symfony/http-foundation/Tests/JsonResponseTest.php
index 03a7b7d9b8..261c9d3e05 100644
--- a/vendor/symfony/http-foundation/Tests/JsonResponseTest.php
+++ b/vendor/symfony/http-foundation/Tests/JsonResponseTest.php
@@ -43,7 +43,8 @@ class JsonResponseTest extends TestCase
$this->assertSame('0', $response->getContent());
$response = new JsonResponse(0.1);
- $this->assertSame('0.1', $response->getContent());
+ $this->assertEquals('0.1', $response->getContent());
+ $this->assertInternalType('string', $response->getContent());
$response = new JsonResponse(true);
$this->assertSame('true', $response->getContent());
@@ -131,7 +132,8 @@ class JsonResponseTest extends TestCase
$response = JsonResponse::create(0.1);
$this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
- $this->assertSame('0.1', $response->getContent());
+ $this->assertEquals('0.1', $response->getContent());
+ $this->assertInternalType('string', $response->getContent());
$response = JsonResponse::create(true);
$this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
diff --git a/vendor/symfony/http-foundation/Tests/Test/Constraint/RequestAttributeValueSameTest.php b/vendor/symfony/http-foundation/Tests/Test/Constraint/RequestAttributeValueSameTest.php
new file mode 100644
index 0000000000..eca8aed263
--- /dev/null
+++ b/vendor/symfony/http-foundation/Tests/Test/Constraint/RequestAttributeValueSameTest.php
@@ -0,0 +1,41 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\HttpFoundation\Tests\Test\Constraint;
+
+use PHPUnit\Framework\ExpectationFailedException;
+use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\TestFailure;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Test\Constraint\RequestAttributeValueSame;
+
+class RequestAttributeValueSameTest extends TestCase
+{
+ public function testConstraint(): void
+ {
+ $request = new Request();
+ $request->attributes->set('foo', 'bar');
+ $constraint = new RequestAttributeValueSame('foo', 'bar');
+ $this->assertTrue($constraint->evaluate($request, '', true));
+ $constraint = new RequestAttributeValueSame('bar', 'foo');
+ $this->assertFalse($constraint->evaluate($request, '', true));
+
+ try {
+ $constraint->evaluate($request);
+ } catch (ExpectationFailedException $e) {
+ $this->assertEquals("Failed asserting that the Request has attribute \"bar\" with value \"foo\".\n", TestFailure::exceptionToString($e));
+
+ return;
+ }
+
+ $this->fail();
+ }
+}
diff --git a/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseCookieValueSameTest.php b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseCookieValueSameTest.php
new file mode 100644
index 0000000000..778879c328
--- /dev/null
+++ b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseCookieValueSameTest.php
@@ -0,0 +1,44 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\HttpFoundation\Tests\Test\Constraint;
+
+use PHPUnit\Framework\ExpectationFailedException;
+use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\TestFailure;
+use Symfony\Component\HttpFoundation\Cookie;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpFoundation\Test\Constraint\ResponseCookieValueSame;
+
+class ResponseCookieValueSameTest extends TestCase
+{
+ public function testConstraint(): void
+ {
+ $response = new Response();
+ $response->headers->setCookie(Cookie::create('foo', 'bar', 0, '/path'));
+ $constraint = new ResponseCookieValueSame('foo', 'bar', '/path');
+ $this->assertTrue($constraint->evaluate($response, '', true));
+ $constraint = new ResponseCookieValueSame('foo', 'bar', '/path');
+ $this->assertTrue($constraint->evaluate($response, '', true));
+ $constraint = new ResponseCookieValueSame('foo', 'babar', '/path');
+ $this->assertFalse($constraint->evaluate($response, '', true));
+
+ try {
+ $constraint->evaluate($response);
+ } catch (ExpectationFailedException $e) {
+ $this->assertEquals("Failed asserting that the Response has cookie \"foo\" with path \"/path\" with value \"babar\".\n", TestFailure::exceptionToString($e));
+
+ return;
+ }
+
+ $this->fail();
+ }
+}
diff --git a/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHasCookieTest.php b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHasCookieTest.php
new file mode 100644
index 0000000000..05ca95fb46
--- /dev/null
+++ b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHasCookieTest.php
@@ -0,0 +1,42 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\HttpFoundation\Tests\Test\Constraint;
+
+use PHPUnit\Framework\ExpectationFailedException;
+use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\TestFailure;
+use Symfony\Component\HttpFoundation\Cookie;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpFoundation\Test\Constraint\ResponseHasCookie;
+
+class ResponseHasCookieTest extends TestCase
+{
+ public function testConstraint(): void
+ {
+ $response = new Response();
+ $response->headers->setCookie(Cookie::create('foo', 'bar'));
+ $constraint = new ResponseHasCookie('foo');
+ $this->assertTrue($constraint->evaluate($response, '', true));
+ $constraint = new ResponseHasCookie('bar');
+ $this->assertFalse($constraint->evaluate($response, '', true));
+
+ try {
+ $constraint->evaluate($response);
+ } catch (ExpectationFailedException $e) {
+ $this->assertEquals("Failed asserting that the Response has cookie \"bar\".\n", TestFailure::exceptionToString($e));
+
+ return;
+ }
+
+ $this->fail();
+ }
+}
diff --git a/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHasHeaderTest.php b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHasHeaderTest.php
new file mode 100644
index 0000000000..7b811a64a2
--- /dev/null
+++ b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHasHeaderTest.php
@@ -0,0 +1,39 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\HttpFoundation\Tests\Test\Constraint;
+
+use PHPUnit\Framework\ExpectationFailedException;
+use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\TestFailure;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpFoundation\Test\Constraint\ResponseHasHeader;
+
+class ResponseHasHeaderTest extends TestCase
+{
+ public function testConstraint(): void
+ {
+ $constraint = new ResponseHasHeader('Date');
+ $this->assertTrue($constraint->evaluate(new Response(), '', true));
+ $constraint = new ResponseHasHeader('X-Date');
+ $this->assertFalse($constraint->evaluate(new Response(), '', true));
+
+ try {
+ $constraint->evaluate(new Response());
+ } catch (ExpectationFailedException $e) {
+ $this->assertEquals("Failed asserting that the Response has header \"X-Date\".\n", TestFailure::exceptionToString($e));
+
+ return;
+ }
+
+ $this->fail();
+ }
+}
diff --git a/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHeaderSameTest.php b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHeaderSameTest.php
new file mode 100644
index 0000000000..d527f35de8
--- /dev/null
+++ b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseHeaderSameTest.php
@@ -0,0 +1,39 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\HttpFoundation\Tests\Test\Constraint;
+
+use PHPUnit\Framework\ExpectationFailedException;
+use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\TestFailure;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpFoundation\Test\Constraint\ResponseHeaderSame;
+
+class ResponseHeaderSameTest extends TestCase
+{
+ public function testConstraint(): void
+ {
+ $constraint = new ResponseHeaderSame('Cache-Control', 'no-cache, private');
+ $this->assertTrue($constraint->evaluate(new Response(), '', true));
+ $constraint = new ResponseHeaderSame('Cache-Control', 'public');
+ $this->assertFalse($constraint->evaluate(new Response(), '', true));
+
+ try {
+ $constraint->evaluate(new Response());
+ } catch (ExpectationFailedException $e) {
+ $this->assertEquals("Failed asserting that the Response has header \"Cache-Control\" with value \"public\".\n", TestFailure::exceptionToString($e));
+
+ return;
+ }
+
+ $this->fail();
+ }
+}
diff --git a/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseIsRedirectedTest.php b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseIsRedirectedTest.php
new file mode 100644
index 0000000000..a3a460636a
--- /dev/null
+++ b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseIsRedirectedTest.php
@@ -0,0 +1,39 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\HttpFoundation\Tests\Test\Constraint;
+
+use PHPUnit\Framework\ExpectationFailedException;
+use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\TestFailure;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpFoundation\Test\Constraint\ResponseIsRedirected;
+
+class ResponseIsRedirectedTest extends TestCase
+{
+ public function testConstraint(): void
+ {
+ $constraint = new ResponseIsRedirected();
+
+ $this->assertTrue($constraint->evaluate(new Response('', 301), '', true));
+ $this->assertFalse($constraint->evaluate(new Response(), '', true));
+
+ try {
+ $constraint->evaluate(new Response());
+ } catch (ExpectationFailedException $e) {
+ $this->assertContains("Failed asserting that the Response is redirected.\nHTTP/1.0 200 OK", TestFailure::exceptionToString($e));
+
+ return;
+ }
+
+ $this->fail();
+ }
+}
diff --git a/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseIsSuccessfulTest.php b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseIsSuccessfulTest.php
new file mode 100644
index 0000000000..0c99a5e484
--- /dev/null
+++ b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseIsSuccessfulTest.php
@@ -0,0 +1,39 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\HttpFoundation\Tests\Test\Constraint;
+
+use PHPUnit\Framework\ExpectationFailedException;
+use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\TestFailure;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpFoundation\Test\Constraint\ResponseIsSuccessful;
+
+class ResponseIsSuccessfulTest extends TestCase
+{
+ public function testConstraint(): void
+ {
+ $constraint = new ResponseIsSuccessful();
+
+ $this->assertTrue($constraint->evaluate(new Response(), '', true));
+ $this->assertFalse($constraint->evaluate(new Response('', 404), '', true));
+
+ try {
+ $constraint->evaluate(new Response('', 404));
+ } catch (ExpectationFailedException $e) {
+ $this->assertContains("Failed asserting that the Response is successful.\nHTTP/1.0 404 Not Found", TestFailure::exceptionToString($e));
+
+ return;
+ }
+
+ $this->fail();
+ }
+}
diff --git a/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseStatusCodeSameTest.php b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseStatusCodeSameTest.php
new file mode 100644
index 0000000000..3e15e90673
--- /dev/null
+++ b/vendor/symfony/http-foundation/Tests/Test/Constraint/ResponseStatusCodeSameTest.php
@@ -0,0 +1,41 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\HttpFoundation\Tests\Test\Constraint;
+
+use PHPUnit\Framework\ExpectationFailedException;
+use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\TestFailure;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpFoundation\Test\Constraint\ResponseStatusCodeSame;
+
+class ResponseStatusCodeSameTest extends TestCase
+{
+ public function testConstraint(): void
+ {
+ $constraint = new ResponseStatusCodeSame(200);
+ $this->assertTrue($constraint->evaluate(new Response(), '', true));
+ $this->assertFalse($constraint->evaluate(new Response('', 404), '', true));
+ $constraint = new ResponseStatusCodeSame(404);
+ $this->assertTrue($constraint->evaluate(new Response('', 404), '', true));
+
+ $constraint = new ResponseStatusCodeSame(200);
+ try {
+ $constraint->evaluate(new Response('', 404));
+ } catch (ExpectationFailedException $e) {
+ $this->assertContains("Failed asserting that the Response status code is 200.\nHTTP/1.0 404 Not Found", TestFailure::exceptionToString($e));
+
+ return;
+ }
+
+ $this->fail();
+ }
+}
diff --git a/vendor/symfony/http-foundation/Tests/UrlHelperTest.php b/vendor/symfony/http-foundation/Tests/UrlHelperTest.php
new file mode 100644
index 0000000000..9a750bd8a3
--- /dev/null
+++ b/vendor/symfony/http-foundation/Tests/UrlHelperTest.php
@@ -0,0 +1,143 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\HttpFoundation\Tests;
+
+use PHPUnit\Framework\TestCase;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\RequestStack;
+use Symfony\Component\HttpFoundation\UrlHelper;
+use Symfony\Component\Routing\RequestContext;
+
+class UrlHelperTest extends TestCase
+{
+ /**
+ * @dataProvider getGenerateAbsoluteUrlData()
+ */
+ public function testGenerateAbsoluteUrl($expected, $path, $pathinfo)
+ {
+ $stack = new RequestStack();
+ $stack->push(Request::create($pathinfo));
+ $helper = new UrlHelper($stack);
+
+ $this->assertEquals($expected, $helper->getAbsoluteUrl($path));
+ }
+
+ public function getGenerateAbsoluteUrlData()
+ {
+ return [
+ ['http://localhost/foo.png', '/foo.png', '/foo/bar.html'],
+ ['http://localhost/foo/foo.png', 'foo.png', '/foo/bar.html'],
+ ['http://localhost/foo/foo.png', 'foo.png', '/foo/bar'],
+ ['http://localhost/foo/bar/foo.png', 'foo.png', '/foo/bar/'],
+
+ ['http://example.com/baz', 'http://example.com/baz', '/'],
+ ['https://example.com/baz', 'https://example.com/baz', '/'],
+ ['//example.com/baz', '//example.com/baz', '/'],
+
+ ['http://localhost/foo/bar?baz', '?baz', '/foo/bar'],
+ ['http://localhost/foo/bar?baz=1', '?baz=1', '/foo/bar?foo=1'],
+ ['http://localhost/foo/baz?baz=1', 'baz?baz=1', '/foo/bar?foo=1'],
+
+ ['http://localhost/foo/bar#baz', '#baz', '/foo/bar'],
+ ['http://localhost/foo/bar?0#baz', '#baz', '/foo/bar?0'],
+ ['http://localhost/foo/bar?baz=1#baz', '?baz=1#baz', '/foo/bar?foo=1'],
+ ['http://localhost/foo/baz?baz=1#baz', 'baz?baz=1#baz', '/foo/bar?foo=1'],
+ ];
+ }
+
+ /**
+ * @dataProvider getGenerateAbsoluteUrlRequestContextData
+ */
+ public function testGenerateAbsoluteUrlWithRequestContext($path, $baseUrl, $host, $scheme, $httpPort, $httpsPort, $expected)
+ {
+ if (!class_exists('Symfony\Component\Routing\RequestContext')) {
+ $this->markTestSkipped('The Routing component is needed to run tests that depend on its request context.');
+ }
+
+ $requestContext = new RequestContext($baseUrl, 'GET', $host, $scheme, $httpPort, $httpsPort, $path);
+ $helper = new UrlHelper(new RequestStack(), $requestContext);
+
+ $this->assertEquals($expected, $helper->getAbsoluteUrl($path));
+ }
+
+ /**
+ * @dataProvider getGenerateAbsoluteUrlRequestContextData
+ */
+ public function testGenerateAbsoluteUrlWithoutRequestAndRequestContext($path)
+ {
+ if (!class_exists('Symfony\Component\Routing\RequestContext')) {
+ $this->markTestSkipped('The Routing component is needed to run tests that depend on its request context.');
+ }
+
+ $helper = new UrlHelper(new RequestStack());
+
+ $this->assertEquals($path, $helper->getAbsoluteUrl($path));
+ }
+
+ public function getGenerateAbsoluteUrlRequestContextData()
+ {
+ return [
+ ['/foo.png', '/foo', 'localhost', 'http', 80, 443, 'http://localhost/foo.png'],
+ ['foo.png', '/foo', 'localhost', 'http', 80, 443, 'http://localhost/foo/foo.png'],
+ ['foo.png', '/foo/bar/', 'localhost', 'http', 80, 443, 'http://localhost/foo/bar/foo.png'],
+ ['/foo.png', '/foo', 'localhost', 'https', 80, 443, 'https://localhost/foo.png'],
+ ['foo.png', '/foo', 'localhost', 'https', 80, 443, 'https://localhost/foo/foo.png'],
+ ['foo.png', '/foo/bar/', 'localhost', 'https', 80, 443, 'https://localhost/foo/bar/foo.png'],
+ ['/foo.png', '/foo', 'localhost', 'http', 443, 80, 'http://localhost:443/foo.png'],
+ ['/foo.png', '/foo', 'localhost', 'https', 443, 80, 'https://localhost:80/foo.png'],
+ ];
+ }
+
+ public function testGenerateAbsoluteUrlWithScriptFileName()
+ {
+ $request = Request::create('http://localhost/app/web/app_dev.php');
+ $request->server->set('SCRIPT_FILENAME', '/var/www/app/web/app_dev.php');
+
+ $stack = new RequestStack();
+ $stack->push($request);
+ $helper = new UrlHelper($stack);
+
+ $this->assertEquals(
+ 'http://localhost/app/web/bundles/framework/css/structure.css',
+ $helper->getAbsoluteUrl('/app/web/bundles/framework/css/structure.css')
+ );
+ }
+
+ /**
+ * @dataProvider getGenerateRelativePathData()
+ */
+ public function testGenerateRelativePath($expected, $path, $pathinfo)
+ {
+ if (!method_exists('Symfony\Component\HttpFoundation\Request', 'getRelativeUriForPath')) {
+ $this->markTestSkipped('Your version of Symfony HttpFoundation is too old.');
+ }
+
+ $stack = new RequestStack();
+ $stack->push(Request::create($pathinfo));
+ $urlHelper = new UrlHelper($stack);
+
+ $this->assertEquals($expected, $urlHelper->getRelativePath($path));
+ }
+
+ public function getGenerateRelativePathData()
+ {
+ return [
+ ['../foo.png', '/foo.png', '/foo/bar.html'],
+ ['../baz/foo.png', '/baz/foo.png', '/foo/bar.html'],
+ ['baz/foo.png', 'baz/foo.png', '/foo/bar.html'],
+
+ ['http://example.com/baz', 'http://example.com/baz', '/'],
+ ['https://example.com/baz', 'https://example.com/baz', '/'],
+ ['//example.com/baz', '//example.com/baz', '/'],
+ ];
+ }
+}