diff --git a/src/helpers/RequestParser.php b/src/helpers/RequestParser.php index 5209fda..14a8373 100644 --- a/src/helpers/RequestParser.php +++ b/src/helpers/RequestParser.php @@ -127,6 +127,10 @@ public function hasIncludePaths() { * @return string[]|array */ public function getIncludePaths(array $options=[]) { + if ($this->queryParameters['include'] === '') { + return []; + } + $includePaths = explode(',', $this->queryParameters['include']); $options = array_merge(self::$defaults, $options); @@ -192,6 +196,10 @@ public function hasSortFields() { * } */ public function getSortFields(array $options=[]) { + if ($this->queryParameters['sort'] === '') { + return []; + } + $fields = explode(',', $this->queryParameters['sort']); $options = array_merge(self::$defaults, $options); diff --git a/tests/helpers/RequestParserTest.php b/tests/helpers/RequestParserTest.php index fd17061..e1a586d 100644 --- a/tests/helpers/RequestParserTest.php +++ b/tests/helpers/RequestParserTest.php @@ -253,6 +253,14 @@ public function testGetIncludePaths_Raw() { $this->assertSame(['foo', 'bar', 'baz.baf'], $requestParser->getIncludePaths($options)); } + public function testGetIncludePaths_Empty() { + $queryParameters = ['include' => '']; + $requestParser = new RequestParser($selfLink='', $queryParameters); + + $this->assertTrue($requestParser->hasIncludePaths()); + $this->assertSame([], $requestParser->getIncludePaths()); + } + public function testHasSparseFieldset() { $requestParser = new RequestParser(); $this->assertFalse($requestParser->hasSparseFieldset('foo')); @@ -302,6 +310,14 @@ public function testGetSortFields_Raw() { $this->assertSame(['foo', '-bar'], $requestParser->getSortFields($options)); } + public function testGetSortFields_Empty() { + $queryParameters = ['sort' => '']; + $requestParser = new RequestParser($selfLink='', $queryParameters); + + $this->assertTrue($requestParser->hasSortFields()); + $this->assertSame([], $requestParser->getSortFields()); + } + public function testHasPagination() { $requestParser = new RequestParser(); $this->assertFalse($requestParser->hasPagination());