Skip to content
Snippets Groups Projects
Commit 2e98af6c authored by Alex Reisner's avatar Alex Reisner
Browse files

Merge pull request #659 from lukewendling/master

use more forgiving 'unstructured' query format in Bing Locations API

See docs: http://msdn.microsoft.com/en-us/library/ff701711.aspx
parents 354bed87 ef4a8364
No related branches found
No related tags found
No related merge requests found
......@@ -27,7 +27,9 @@ module Geocoder::Lookup
if !query.reverse_geocode? and r = query.options[:region]
url << "/#{r}"
end
url + "/" + URI.escape(query.sanitized_text.strip) + "?"
# use the more forgiving 'unstructured' query format to allow special
# chars, newlines, brackets, typos.
url + "?q=" + URI.escape(query.sanitized_text.strip) + "&"
end
def results(query)
......
......@@ -12,7 +12,7 @@ class BingTest < GeocoderTestCase
def test_query_for_reverse_geocode
lookup = Geocoder::Lookup::Bing.new
url = lookup.query_url(Geocoder::Query.new([45.423733, -75.676333]))
assert_match(/Locations\/45.423733/, url)
assert_match(/Locations\?q=45.423733/, url)
end
def test_result_components
......@@ -33,7 +33,7 @@ class BingTest < GeocoderTestCase
"manchester",
:region => "uk"
))
assert_match(/Locations\/uk\/manchester/, url)
assert_match(/Locations\/uk\?q=manchester/, url)
assert_no_match(/query/, url)
end
......@@ -42,7 +42,7 @@ class BingTest < GeocoderTestCase
url = lookup.query_url(Geocoder::Query.new(
"manchester"
))
assert_match(/Locations\/manchester/, url)
assert_match(/Locations\?q=manchester/, url)
assert_no_match(/query/, url)
end
......@@ -52,7 +52,7 @@ class BingTest < GeocoderTestCase
"manchester, lancashire",
:region => "uk"
))
assert_match(/Locations\/uk\/manchester,%20lancashire/, url)
assert_match(/Locations\/uk\?q=manchester,%20lancashire/, url)
assert_no_match(/query/, url)
end
......@@ -62,7 +62,7 @@ class BingTest < GeocoderTestCase
" manchester, lancashire ",
:region => "uk"
))
assert_match(/Locations\/uk\/manchester,%20lancashire/, url)
assert_match(/Locations\/uk\?q=manchester,%20lancashire/, url)
assert_no_match(/query/, url)
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment