From afa3f63f647ffba2b72c0f9b883236b2a2fb11c2 Mon Sep 17 00:00:00 2001 From: Alex Reisner <alex@alexreisner.com> Date: Fri, 21 Dec 2012 16:08:44 -0500 Subject: [PATCH] Pass components to Google lookup as array. --- lib/geocoder/lookups/google.rb | 2 +- test/services_test.rb | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/geocoder/lookups/google.rb b/lib/geocoder/lookups/google.rb index 8102510b..6ed7fa62 100644 --- a/lib/geocoder/lookups/google.rb +++ b/lib/geocoder/lookups/google.rb @@ -44,7 +44,7 @@ module Geocoder::Lookup params[:region] = region end unless (components = query.options[:components]).nil? - params[:components] = components + params[:components] = components.join("|") end params end diff --git a/test/services_test.rb b/test/services_test.rb index 9174c0c6..6f2a86dd 100644 --- a/test/services_test.rb +++ b/test/services_test.rb @@ -56,6 +56,25 @@ class ServicesTest < Test::Unit::TestCase assert_match /bounds=40.0+%2C-120.0+%7C39.0+%2C-121.0+/, url end + def test_google_query_url_contains_region + lookup = Geocoder::Lookup::Google.new + url = lookup.send(:query_url, Geocoder::Query.new( + "Some Intersection", + :region => "gb" + )) + assert_match /region=gb/, url + end + + def test_google_query_url_contains_properly_formatted_components + lookup = Geocoder::Lookup::Google.new + url = lookup.send(:query_url, Geocoder::Query.new( + "Some Intersection", + :components => ["country:ES", "locality:ES"] + )) + formatted = "components=" + CGI.escape("country:ES|locality:ES") + assert url.include?(formatted), "Expected #{formatted} to be included in #{url}" + end + # --- Google Premier --- def test_google_premier_result_components -- GitLab