Skip to content

Commit d549b8f

Browse files
committed
Properly handle null query response
superced parse-community#388
1 parent bef9085 commit d549b8f

File tree

3 files changed

+18
-12
lines changed

3 files changed

+18
-12
lines changed

src/Parse/ParseQuery.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -624,12 +624,11 @@ public function find($useMasterKey = false, $decodeObjects = true)
624624
null,
625625
$useMasterKey
626626
);
627+
if (!isset($result['results'])) {
628+
return [];
629+
}
627630
if (!$decodeObjects) {
628-
if (array_key_exists('results', $result)) {
629-
return $result['results'];
630-
} else {
631-
return [];
632-
}
631+
return $result['results'];
633632
}
634633
$output = [];
635634
foreach ($result['results'] as $row) {

tests/Parse/Helper.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public static function setUp()
5252
self::setHttpClient();
5353
}
5454

55-
public static function setHttpClient($httpClient = null)
55+
public static function setHttpClient()
5656
{
5757
//
5858
// Set a curl http client to run primary tests under
@@ -61,9 +61,6 @@ public static function setHttpClient($httpClient = null)
6161
// ParseCurlHttpClient
6262
// ParseStreamHttpClient
6363
//
64-
if ($httpClient) {
65-
return ParseClient::setHttpClient($httpClient);
66-
}
6764

6865
global $USE_CLIENT_STREAM;
6966

tests/Parse/ParseQueryTest.php

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Parse\ParseObject;
88
use Parse\ParseQuery;
99
use Parse\ParseUser;
10+
use Parse\ParseClient;
1011

1112
class ParseQueryTest extends \PHPUnit_Framework_TestCase
1213
{
@@ -2402,19 +2403,28 @@ public function testQueryFindEncoded()
24022403
$this->assertEquals('John', $results[2]['name']);
24032404
}
24042405

2405-
public function testQueryFindEncodedInvalidResponse()
2406+
public function testQueryNullResponse()
24062407
{
24072408
$obj = new ParseObject('TestObject');
24082409
$obj->set('name', 'John');
24092410
$obj->set('country', 'US');
24102411
$obj->save();
24112412

2413+
ParseClient::initialize(
2414+
Helper::$appId,
2415+
Helper::$restKey,
2416+
Helper::$masterKey,
2417+
false,
2418+
Helper::$accountKey
2419+
);
2420+
ParseClient::setServerURL('http://localhost:1337', 'parse');
2421+
24122422
$httpClient = new HttpClientMock();
24132423
$httpClient->setResponse('{}');
2414-
Helper::setHttpClient($httpClient);
2424+
ParseClient::setHttpClient($httpClient);
24152425

24162426
$query = new ParseQuery('TestObject');
2417-
$results = $query->find(false, false);
2427+
$results = $query->find(false);
24182428

24192429
$this->assertEquals(0, count($results));
24202430

0 commit comments

Comments
 (0)