X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/98184dfb9cacc74ac5bcb91a41a2d5804b3f4f7d..eaf4b32a7f6bf0cdc47dfc0c8b5ddb3358110ee4:/test/controllers/geocoder_controller_test.rb diff --git a/test/controllers/geocoder_controller_test.rb b/test/controllers/geocoder_controller_test.rb index 94cf7cf46..7479b3e9d 100644 --- a/test/controllers/geocoder_controller_test.rb +++ b/test/controllers/geocoder_controller_test.rb @@ -1,7 +1,7 @@ # coding: utf-8 -require 'test_helper' -require 'geocoder_controller' +require "test_helper" +require "geocoder_controller" class GeocoderControllerTest < ActionController::TestCase ## @@ -12,8 +12,8 @@ class GeocoderControllerTest < ActionController::TestCase { :controller => "geocoder", :action => "search" } ) assert_routing( - { :path => "/geocoder/search_latlon", :method => :get }, - { :controller => "geocoder", :action => "search_latlon" } + { :path => "/geocoder/search_latlon", :method => :get }, + { :controller => "geocoder", :action => "search_latlon" } ) assert_routing( { :path => "/geocoder/search_us_postcode", :method => :get }, @@ -49,10 +49,10 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of basic lat/lon pairs def test_identify_latlon_basic [ - '50.06773 14.37742', - '50.06773, 14.37742', - '+50.06773 +14.37742', - '+50.06773, +14.37742' + "50.06773 14.37742", + "50.06773, 14.37742", + "+50.06773 +14.37742", + "+50.06773, +14.37742" ].each do |code| latlon_check code, 50.06773, 14.37742 end @@ -62,10 +62,10 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using N/E with degrees def test_identify_latlon_ne_d [ - 'N50.06773 E14.37742', - 'N50.06773, E14.37742', - '50.06773N 14.37742E', - '50.06773N, 14.37742E' + "N50.06773 E14.37742", + "N50.06773, E14.37742", + "50.06773N 14.37742E", + "50.06773N, 14.37742E" ].each do |code| latlon_check code, 50.06773, 14.37742 end @@ -75,10 +75,10 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using N/W with degrees def test_identify_latlon_nw_d [ - 'N50.06773 W14.37742', - 'N50.06773, W14.37742', - '50.06773N 14.37742W', - '50.06773N, 14.37742W' + "N50.06773 W14.37742", + "N50.06773, W14.37742", + "50.06773N 14.37742W", + "50.06773N, 14.37742W" ].each do |code| latlon_check code, 50.06773, -14.37742 end @@ -88,10 +88,10 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using S/E with degrees def test_identify_latlon_se_d [ - 'S50.06773 E14.37742', - 'S50.06773, E14.37742', - '50.06773S 14.37742E', - '50.06773S, 14.37742E' + "S50.06773 E14.37742", + "S50.06773, E14.37742", + "50.06773S 14.37742E", + "50.06773S, 14.37742E" ].each do |code| latlon_check code, -50.06773, 14.37742 end @@ -101,10 +101,10 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using S/W with degrees def test_identify_latlon_sw_d [ - 'S50.06773 W14.37742', - 'S50.06773, W14.37742', - '50.06773S 14.37742W', - '50.06773S, 14.37742W' + "S50.06773 W14.37742", + "S50.06773, W14.37742", + "50.06773S 14.37742W", + "50.06773S, 14.37742W" ].each do |code| latlon_check code, -50.06773, -14.37742 end @@ -114,13 +114,13 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using N/E with degrees/mins def test_identify_latlon_ne_dm [ - 'N 50° 04.064 E 014° 22.645', - "N 50° 04.064' E 014° 22.645", - "N 50° 04.064', E 014° 22.645'", - 'N50° 04.064 E14° 22.645', - 'N 50 04.064 E 014 22.645', - 'N50 4.064 E14 22.645', - "50° 04.064' N, 014° 22.645' E" + "N 50° 04.064 E 014° 22.645", + "N 50° 04.064' E 014° 22.645", + "N 50° 04.064', E 014° 22.645'", + "N50° 04.064 E14° 22.645", + "N 50 04.064 E 014 22.645", + "N50 4.064 E14 22.645", + "50° 04.064' N, 014° 22.645' E" ].each do |code| latlon_check code, 50.06773, 14.37742 end @@ -130,13 +130,13 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using N/W with degrees/mins def test_identify_latlon_nw_dm [ - 'N 50° 04.064 W 014° 22.645', - "N 50° 04.064' W 014° 22.645", - "N 50° 04.064', W 014° 22.645'", - 'N50° 04.064 W14° 22.645', - 'N 50 04.064 W 014 22.645', - 'N50 4.064 W14 22.645', - "50° 04.064' N, 014° 22.645' W" + "N 50° 04.064 W 014° 22.645", + "N 50° 04.064' W 014° 22.645", + "N 50° 04.064', W 014° 22.645'", + "N50° 04.064 W14° 22.645", + "N 50 04.064 W 014 22.645", + "N50 4.064 W14 22.645", + "50° 04.064' N, 014° 22.645' W" ].each do |code| latlon_check code, 50.06773, -14.37742 end @@ -146,13 +146,13 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using S/E with degrees/mins def test_identify_latlon_se_dm [ - 'S 50° 04.064 E 014° 22.645', - "S 50° 04.064' E 014° 22.645", - "S 50° 04.064', E 014° 22.645'", - 'S50° 04.064 E14° 22.645', - 'S 50 04.064 E 014 22.645', - 'S50 4.064 E14 22.645', - "50° 04.064' S, 014° 22.645' E" + "S 50° 04.064 E 014° 22.645", + "S 50° 04.064' E 014° 22.645", + "S 50° 04.064', E 014° 22.645'", + "S50° 04.064 E14° 22.645", + "S 50 04.064 E 014 22.645", + "S50 4.064 E14 22.645", + "50° 04.064' S, 014° 22.645' E" ].each do |code| latlon_check code, -50.06773, 14.37742 end @@ -162,13 +162,13 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using S/W with degrees/mins def test_identify_latlon_sw_dm [ - 'S 50° 04.064 W 014° 22.645', - "S 50° 04.064' W 014° 22.645", - "S 50° 04.064', W 014° 22.645'", - 'S50° 04.064 W14° 22.645', - 'S 50 04.064 W 014 22.645', - 'S50 4.064 W14 22.645', - "50° 04.064' S, 014° 22.645' W" + "S 50° 04.064 W 014° 22.645", + "S 50° 04.064' W 014° 22.645", + "S 50° 04.064', W 014° 22.645'", + "S50° 04.064 W14° 22.645", + "S 50 04.064 W 014 22.645", + "S50 4.064 W14 22.645", + "50° 04.064' S, 014° 22.645' W" ].each do |code| latlon_check code, -50.06773, -14.37742 end @@ -178,12 +178,12 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using N/E with degrees/mins/secs def test_identify_latlon_ne_dms [ - "N 50° 4' 03.828\" E 14° 22' 38.712\"", - "N 50° 4' 03.828\", E 14° 22' 38.712\"", - "N 50° 4′ 03.828″, E 14° 22′ 38.712″", - 'N50 4 03.828 E14 22 38.712', - 'N50 4 03.828, E14 22 38.712', - "50°4'3.828\"N 14°22'38.712\"E" + "N 50° 4' 03.828\" E 14° 22' 38.712\"", + "N 50° 4' 03.828\", E 14° 22' 38.712\"", + "N 50° 4′ 03.828″, E 14° 22′ 38.712″", + "N50 4 03.828 E14 22 38.712", + "N50 4 03.828, E14 22 38.712", + "50°4'3.828\"N 14°22'38.712\"E" ].each do |code| latlon_check code, 50.06773, 14.37742 end @@ -193,12 +193,12 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using N/W with degrees/mins/secs def test_identify_latlon_nw_dms [ - "N 50° 4' 03.828\" W 14° 22' 38.712\"", - "N 50° 4' 03.828\", W 14° 22' 38.712\"", - "N 50° 4′ 03.828″, W 14° 22′ 38.712″", - 'N50 4 03.828 W14 22 38.712', - 'N50 4 03.828, W14 22 38.712', - "50°4'3.828\"N 14°22'38.712\"W" + "N 50° 4' 03.828\" W 14° 22' 38.712\"", + "N 50° 4' 03.828\", W 14° 22' 38.712\"", + "N 50° 4′ 03.828″, W 14° 22′ 38.712″", + "N50 4 03.828 W14 22 38.712", + "N50 4 03.828, W14 22 38.712", + "50°4'3.828\"N 14°22'38.712\"W" ].each do |code| latlon_check code, 50.06773, -14.37742 end @@ -208,12 +208,12 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using S/E with degrees/mins/secs def test_identify_latlon_se_dms [ - "S 50° 4' 03.828\" E 14° 22' 38.712\"", - "S 50° 4' 03.828\", E 14° 22' 38.712\"", - "S 50° 4′ 03.828″, E 14° 22′ 38.712″", - 'S50 4 03.828 E14 22 38.712', - 'S50 4 03.828, E14 22 38.712', - "50°4'3.828\"S 14°22'38.712\"E" + "S 50° 4' 03.828\" E 14° 22' 38.712\"", + "S 50° 4' 03.828\", E 14° 22' 38.712\"", + "S 50° 4′ 03.828″, E 14° 22′ 38.712″", + "S50 4 03.828 E14 22 38.712", + "S50 4 03.828, E14 22 38.712", + "50°4'3.828\"S 14°22'38.712\"E" ].each do |code| latlon_check code, -50.06773, 14.37742 end @@ -223,12 +223,12 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of lat/lon pairs using S/W with degrees/mins/secs def test_identify_latlon_sw_dms [ - "S 50° 4' 03.828\" W 14° 22' 38.712\"", - "S 50° 4' 03.828\", W 14° 22' 38.712\"", - "S 50° 4′ 03.828″, W 14° 22′ 38.712″", - 'S50 4 03.828 W14 22 38.712', - 'S50 4 03.828, W14 22 38.712', - "50°4'3.828\"S 14°22'38.712\"W" + "S 50° 4' 03.828\" W 14° 22' 38.712\"", + "S 50° 4' 03.828\", W 14° 22' 38.712\"", + "S 50° 4′ 03.828″, W 14° 22′ 38.712″", + "S50 4 03.828 W14 22 38.712", + "S50 4 03.828, W14 22 38.712", + "50°4'3.828\"S 14°22'38.712\"W" ].each do |code| latlon_check code, -50.06773, -14.37742 end @@ -238,12 +238,12 @@ class GeocoderControllerTest < ActionController::TestCase # Test identification of US zipcodes def test_identify_us_postcode [ - '12345', - '12345-6789' + "12345", + "12345-6789" ].each do |code| - post :search, query: code + post :search, :query => code assert_response :success - assert_equal ['us_postcode', 'osm_nominatim'], assigns(:sources) + assert_equal %w(us_postcode osm_nominatim), assigns(:sources) end end @@ -252,36 +252,37 @@ class GeocoderControllerTest < ActionController::TestCase # http://en.wikipedia.org/wiki/Postcodes_in_the_United_Kingdom def test_identify_uk_postcode [ - 'EC1A 1BB', - 'W1A 1HQ', - 'M1 1AA', - 'B33 8TH', - 'CR2 6XH', - 'DN55 1PT' + "EC1A 1BB", + "W1A 1HQ", + "M1 1AA", + "B33 8TH", + "CR2 6XH", + "DN55 1PT" ].each do |code| - search_check code, ['uk_postcode', 'osm_nominatim'] + search_check code, %w(uk_postcode osm_nominatim) end end ## # Test identification of Canadian postcodes def test_identify_ca_postcode - search_check 'A1B 2C3', ['ca_postcode', 'osm_nominatim'] + search_check "A1B 2C3", %w(ca_postcode osm_nominatim) end ## # Test identification fall through to the default case def test_identify_default - search_check 'foo bar baz', ['osm_nominatim'] + search_check "foo bar baz", ["osm_nominatim"] end -private + private + def latlon_check(query, lat, lon) post :search, :query => query assert_response :success assert_template "search" assert_template :layout => "map" - assert_equal ['latlon' ,'osm_nominatim_reverse'], assigns(:sources) + assert_equal %w(latlon osm_nominatim_reverse), assigns(:sources) assert_nil @controller.params[:query] assert_in_delta lat, @controller.params[:lat] assert_in_delta lon, @controller.params[:lon] @@ -290,7 +291,7 @@ private assert_response :success assert_template "search" assert_template :layout => "xhr" - assert_equal ['latlon' ,'osm_nominatim_reverse'], assigns(:sources) + assert_equal %w(latlon osm_nominatim_reverse), assigns(:sources) assert_nil @controller.params[:query] assert_in_delta lat, @controller.params[:lat] assert_in_delta lon, @controller.params[:lon]