From 6cfd4d87e071eddb55e94c398a09d39c60d8311e Mon Sep 17 00:00:00 2001
From: Andrei Bocan <zmaxor@gmail.com>
Date: Wed, 16 Feb 2011 03:07:20 +0200
Subject: [PATCH] Don't die when trying to get coordinates with a nil address

---
 lib/geocoder/lookup.rb | 2 +-
 test/geocoder_test.rb  | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/geocoder/lookup.rb b/lib/geocoder/lookup.rb
index ed260d15..21580e7c 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 312cbd30..f6a07392 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
-- 
GitLab