]> git.openstreetmap.org Git - rails.git/blobdiff - test/controllers/geocoder_controller_test.rb
Merge remote-tracking branch 'upstream/pull/2433'
[rails.git] / test / controllers / geocoder_controller_test.rb
index e05c8d06a2744147751589696b9f7cdd9048ca14..f8a4eed1964e84fd44cd7ff31f9a0dbf6a2769cf 100644 (file)
@@ -1,5 +1,4 @@
 require "test_helper"
-require "geocoder_controller"
 
 class GeocoderControllerTest < ActionController::TestCase
   ##
@@ -237,9 +236,9 @@ class GeocoderControllerTest < ActionController::TestCase
   ##
   # Test identification of US zipcodes
   def test_identify_us_postcode
-    [
-      "12345",
-      "12345-6789"
+    %w[
+      12345
+      12345-6789
     ].each do |code|
       post :search, :params => { :query => code }
       assert_response :success
@@ -294,6 +293,30 @@ class GeocoderControllerTest < ActionController::TestCase
     results_check_error "Longitude 180.23 out of range"
   end
 
+  def test_search_latlon_digits
+    get :search_latlon, :params => { :lat => 1.23, :lon => 4.56, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check({ :name => "1.23, 4.56", :lat => 1.23, :lon => 4.56, :zoom => 16 },
+                  { :name => "4.56, 1.23", :lat => 4.56, :lon => 1.23, :zoom => 16 })
+
+    get :search_latlon, :params => { :lat => -91.23, :lon => 4.56, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check :name => "4.56, -91.23", :lat => 4.56, :lon => -91.23, :zoom => 16
+
+    get :search_latlon, :params => { :lat => -1.23, :lon => 170.23, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check :name => "-1.23, 170.23", :lat => -1.23, :lon => 170.23, :zoom => 16
+
+    get :search_latlon, :params => { :lat => 91.23, :lon => 94.56, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check_error "Latitude or longitude are out of range"
+
+    get :search_latlon, :params => { :lat => -91.23, :lon => -94.56, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check_error "Latitude or longitude are out of range"
+
+    get :search_latlon, :params => { :lat => 1.23, :lon => -180.23, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check_error "Latitude or longitude are out of range"
+
+    get :search_latlon, :params => { :lat => 1.23, :lon => 180.23, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check_error "Latitude or longitude are out of range"
+  end
+
   ##
   # Test the Canadian postcode search
   def test_search_ca_postcode