Skip to content

Commit 57cd0af

Browse files
committed
Merge pull request #72 from toin0u/hotfix-logger
initialize in case there are no results
2 parents d28dcbc + 734d2f9 commit 57cd0af

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

Logger/GeocoderLogger.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ public function logRequest($value, $duration, $providerClass, $results)
4747
$this->logger->info(sprintf("%s %0.2f ms (%s)", $value, $duration, $providerClass));
4848
}
4949

50+
$data = array();
51+
5052
if ($results instanceof \SplObjectStorage) {
5153
$data = array();
5254
foreach ($results as $result) {

Tests/Logger/GeocoderLoggerTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,34 @@ public function setUp()
5151
$this->results->attach($otherResult);
5252
}
5353

54+
public function testLogNoResult()
55+
{
56+
$this->geocoderLogger->logRequest('copenhagen', 0.123, 'FooProvider', new Geocoded);
57+
58+
$requests = $this->geocoderLogger->getRequests();
59+
60+
$this->assertTrue(is_array($requests = $this->geocoderLogger->getRequests()));
61+
$this->assertCount(1, $requests);
62+
$this->assertTrue(is_array($request = $requests[0]));
63+
$this->assertSame($request['value'], 'copenhagen');
64+
$this->assertSame($request['duration'], 0.123);
65+
$this->assertSame($request['providerClass'], 'FooProvider');
66+
$this->assertSame($request['result'], '{"latitude":0,"longitude":0,"bounds":null,"streetNumber":null,"streetName":null,"zipcode":null,"city":null,"cityDistrict":null,"county":null,"countyCode":null,"region":null,"regionCode":null,"country":null,"countryCode":null,"timezone":null}');
67+
}
68+
69+
public function testLogNoResults()
70+
{
71+
$this->geocoderLogger->logRequest('copenhagen', 0.123, 'FooProvider', new \SplObjectStorage);
72+
73+
$this->assertTrue(is_array($requests = $this->geocoderLogger->getRequests()));
74+
$this->assertCount(1, $requests);
75+
$this->assertTrue(is_array($request = $requests[0]));
76+
$this->assertSame($request['value'], 'copenhagen');
77+
$this->assertSame($request['duration'], 0.123);
78+
$this->assertSame($request['providerClass'], 'FooProvider');
79+
$this->assertSame($request['result'], '[]');
80+
}
81+
5482
public function testLogSingleResult()
5583
{
5684
$this->geocoderLogger->logRequest('copenhagen', 0.123, 'FooProvider', $this->result);

0 commit comments

Comments
 (0)