From 36df1f33c1915e9d66a4924449aae37fc3a5a12f Mon Sep 17 00:00:00 2001 From: PJ Dietz Date: Sat, 15 Aug 2020 07:51:30 -0400 Subject: [PATCH] Refactor URI; fix coverage on UploadedFile --- composer.json | 3 +- src/Message/Uri.php | 63 +++++++------------- test/tests/unit/Message/UploadedFileTest.php | 2 +- test/tests/unit/Message/UriTest.php | 6 +- 4 files changed, 30 insertions(+), 44 deletions(-) diff --git a/composer.json b/composer.json index a8623c3..7415688 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,8 @@ "autoload-dev": { "psr-4": { "WellRESTed\\": "test/tests/unit/", - "WellRESTed\\Test\\": "test/src/" + "WellRESTed\\Test\\": "test/src/", + "WellRESTed\\Test\\Integration\\": "test/tests/integration/" } } } diff --git a/src/Message/Uri.php b/src/Message/Uri.php index 24e72e3..aa65acd 100644 --- a/src/Message/Uri.php +++ b/src/Message/Uri.php @@ -18,25 +18,25 @@ use Psr\Http\Message\UriInterface; */ class Uri implements UriInterface { - const MIN_PORT = 0; - const MAX_PORT = 65535; + private const MIN_PORT = 0; + private const MAX_PORT = 65535; /** @var string */ - private $scheme = ''; + private $scheme; /** @var string */ - private $user = ''; - /** @var string|null */ + private $user; + /** @var string */ private $password; - /** @var string */ - private $host = ''; + /** @var string */ + private $host; /** @var int|null */ private $port; - /** @var string */ - private $path = ''; - /** @var string */ - private $query = ''; - /** @var string */ - private $fragment = ''; + /** @var string */ + private $path; + /** @var string */ + private $query; + /** @var string */ + private $fragment; /** * @param string $uri A string representation of a URI. @@ -44,34 +44,15 @@ class Uri implements UriInterface public function __construct(string $uri = '') { $parsed = parse_url($uri); - if (!$parsed) { - return; - } - if (isset($parsed['scheme'])) { - $this->scheme = $parsed['scheme']; - } - if (isset($parsed['host'])) { - $this->host = strtolower($parsed['host']); - } - if (isset($parsed['port'])) { - $this->port = $parsed['port']; - } - if (isset($parsed['user'])) { - $this->user = $parsed['user']; - } - if (isset($parsed['pass'])) { - $this->password = $parsed['pass']; - } - if (isset($parsed['path'])) { - $this->path = $parsed['path']; - } - if (isset($parsed['query'])) { - $this->query = $parsed['query']; - } - if (isset($parsed['fragment'])) { - $this->fragment = $parsed['fragment']; - } + $this->scheme = $parsed['scheme'] ?? ''; + $this->user = $parsed['user'] ?? ''; + $this->password = $parsed['pass'] ?? ''; + $this->host = strtolower($parsed['host'] ?? ''); + $this->port = $parsed['port'] ?? null; + $this->path = $parsed['path'] ?? ''; + $this->query = $parsed['query'] ?? ''; + $this->fragment = $parsed['fragment'] ?? ''; } /** @@ -338,7 +319,7 @@ class Uri implements UriInterface { $uri = clone $this; $uri->user = $user; - $uri->password = $password; + $uri->password = $password ?? ''; return $uri; } diff --git a/test/tests/unit/Message/UploadedFileTest.php b/test/tests/unit/Message/UploadedFileTest.php index e208e40..77b6ac1 100644 --- a/test/tests/unit/Message/UploadedFileTest.php +++ b/test/tests/unit/Message/UploadedFileTest.php @@ -70,7 +70,7 @@ class UploadedFileTest extends TestCase $this->expectException(RuntimeException::class); UploadedFileState::$php_sapi_name = 'apache'; UploadedFileState::$is_uploaded_file = false; - $file = new UploadedFile('', '', 0, '', 0); + $file = new UploadedFile('', '', 0, $this->tmpName, 0); $file->getStream(); } diff --git a/test/tests/unit/Message/UriTest.php b/test/tests/unit/Message/UriTest.php index 5d51fb8..20b9468 100644 --- a/test/tests/unit/Message/UriTest.php +++ b/test/tests/unit/Message/UriTest.php @@ -16,7 +16,11 @@ class UriTest extends TestCase $this->assertSame('', $uri->getScheme()); } - /** @dataProvider schemeProvider */ + /** + * @dataProvider schemeProvider + * @param $expected + * @param $scheme + */ public function testSetsSchemeCaseInsensitively($expected, $scheme): void { $uri = new Uri();