diff --git a/.travis.yml b/.travis.yml index 3dff9db..26957e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,15 @@ language: php php: - - 5.4 - - 5.5 - - 5.6 - 7.0 - - hhvm + - 7.1 before_script: - travis_retry composer self-update - travis_retry composer install --no-interaction --prefer-source --dev -script: phpunit --coverage-text --coverage-clover ./build/logs/clover.xml +script: + - ./vendor/bin/phpunit --coverage-text --coverage-clover ./build/logs/clover.xml -after_script: php vendor/bin/coveralls +after_script: + - php vendor/bin/coveralls diff --git a/composer.json b/composer.json index 72e5c5f..409562f 100644 --- a/composer.json +++ b/composer.json @@ -40,6 +40,7 @@ "squizlabs/php_codesniffer": "^2.7", "phpmd/phpmd": "^2.4", "pdepend/pdepend": "^2.2", + "satooshi/php-coveralls" : "dev-master@dev", "sebastian/phpcpd": "^2.0", "jakub-onderka/php-parallel-lint": "^0.9.2" }, diff --git a/src/ProviderAndDumperAggregator.php b/src/ProviderAndDumperAggregator.php index 75361c0..2599dfa 100644 --- a/src/ProviderAndDumperAggregator.php +++ b/src/ProviderAndDumperAggregator.php @@ -74,9 +74,9 @@ public function dump($dumper) */ public function geocode($value) { - $cacheId = str_slug($value); - $this->results = cache()->remember( - "geocoder-{$cacheId}", + $cacheKey = str_slug(strtolower(urlencode($value))); + $this->results = app('cache')->remember( + "geocoder-{$cacheKey}", config('geocoder.cache-duraction', 0), function () use ($value) { return parent::geocode($value); @@ -101,9 +101,9 @@ public function get() */ public function reverse($latitude, $longitude) { - $cacheId = str_slug("{$latitude}-{$longitude}"); - $this->results = cache()->remember( - "geocoder-{$cacheId}", + $cacheKey = str_slug(strtolower(urlencode("{$latitude}-{$longitude}"))); + $this->results = app('cache')->remember( + "geocoder-{$cacheKey}", config('geocoder.cache-duraction', 0), function () use ($latitude, $longitude) { return parent::reverse($latitude, $longitude); diff --git a/tests/Laravel5_3/Providers/GeocoderServiceTest.php b/tests/Laravel5_3/Providers/GeocoderServiceTest.php index b94f690..d8a795b 100644 --- a/tests/Laravel5_3/Providers/GeocoderServiceTest.php +++ b/tests/Laravel5_3/Providers/GeocoderServiceTest.php @@ -178,9 +178,35 @@ public function testCacheIsUsed() { $result = app('geocoder')->geocode('1600 Pennsylvania Ave., Washington, DC USA') ->get(); - $cacheKey = 'geocoder-' . str_slug('1600 Pennsylvania Ave., Washington, DC USA'); + $cacheKey = str_slug(strtolower(urlencode('1600 Pennsylvania Ave., Washington, DC USA'))); - $this->assertTrue(cache()->has($cacheKey)); - $this->assertEquals($result, cache($cacheKey)); + $this->assertEquals($result, app('cache')->get("geocoder-{$cacheKey}")); + $this->assertTrue(app('cache')->has("geocoder-{$cacheKey}")); + } + + public function testJapaneseCharacterGeocoding() + { + $cacheKey = str_slug(strtolower(urlencode('108-0075 東京都港区港南2丁目16-3'))); + + app('geocoder')->geocode('108-0075 東京都港区港南2丁目16-3') + ->get(); + + $this->assertEquals($cacheKey, '108-0075e69db1e4baace983bde6b8afe58cbae6b8afe58d97efbc92e4b881e79baeefbc91efbc96efbc8defbc93'); + $this->assertTrue(app('cache')->has("geocoder-{$cacheKey}")); + } + + public function testFailedGeocodingCanBeCaught() + { + $result = 'success'; + + try { + app('geocoder') + ->geocode('asd,Afghanistan') + ->get(); + } catch (\Throwable $exception) { + $result = 'failure'; + } + + $this->assertEquals('failure', $result); } } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy