diff --git a/lib/geocoder/lookup.rb b/lib/geocoder/lookup.rb index ed260d154fc6937bed317e8be47304752d3ecb0f..21580e7c7f2368276b15396584d4c56fb760a999 100644 --- a/lib/geocoder/lookup.rb +++ b/lib/geocoder/lookup.rb @@ -30,7 +30,7 @@ module Geocoder # or nil if not found or if network error. # def search(*args) - return nil if args[0].blank? + return [] if args[0].blank? doc = parsed_response(args.join(","), args.size == 2) [].tap do |results| if doc diff --git a/test/geocoder_test.rb b/test/geocoder_test.rb index 312cbd30fb8ca0948d609201038407507dc7978f..f6a07392fef12e330334103ad0a7ad96f935a0b3 100644 --- a/test/geocoder_test.rb +++ b/test/geocoder_test.rb @@ -33,4 +33,11 @@ class GeocoderTest < Test::Unit::TestCase assert_equal "Manhattan", results.first.address_components_of_type(:sublocality).first['long_name'] end + + def test_does_not_choke_on_nil_address + v = Venue.new("Venue", nil) + assert_nothing_raised do + v.fetch_coordinates + end + end end