Apparently asin now throws Math::DomainError instead of Errno::EDOM
authorTom Hughes <tom@compton.nu>
Thu, 20 Feb 2014 09:12:41 +0000 (09:12 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 20 Feb 2014 09:12:41 +0000 (09:12 +0000)
lib/osm.rb
test/fixtures/users.yml
test/unit/user_test.rb

index a2432c1e6afd4974b3e6ad752aaee332b4484ee3..9e819829921f68f0b8b74c5a70f4b407b6cf0570 100644 (file)
@@ -399,7 +399,7 @@ module OSM
 
       begin
         lonradius = 2 * asin(sqrt(sin(radius / 6372.795 / 2) ** 2 / cos(@lat) ** 2))
-      rescue Errno::EDOM
+      rescue Errno::EDOM, Math::DomainError
         lonradius = PI
       end
 
index 15e3cc3947831202b78b3516db730effc3270865..8d1fcbd7a7101444a6e2c2654d4cb6506a63113b 100644 (file)
@@ -213,3 +213,17 @@ super_user:
   terms_agreed: "2010-01-01 11:22:33"
   terms_seen: true
   languages: en
+
+north_pole_user:
+  id: 17
+  email: santa@example.com
+  status: active
+  pass_crypt: <%= Digest::MD5.hexdigest('test') %>
+  creation_time: "2008-05-01 01:23:45"
+  display_name: santa
+  data_public: true
+  terms_agreed: "2010-01-01 11:22:33"
+  terms_seen: true
+  languages: en
+  home_lat: 89.9
+  home_lon: 146.8
index 1283f416852078e861fb1c456629d159eab0632d..1a39309f1b60a798431b4c2e47dd64d938771f57 100644 (file)
@@ -109,7 +109,7 @@ class UserTest < ActiveSupport::TestCase
     assert !users(:inactive_user).is_friends_with?(users(:normal_user))
     assert !users(:inactive_user).is_friends_with?(users(:public_user))
   end
-  
+
   def test_users_nearby
     # second user has their data public and is close by normal user
     assert_equal [users(:public_user)], users(:normal_user).nearby
@@ -117,8 +117,10 @@ class UserTest < ActiveSupport::TestCase
     assert_equal [], users(:public_user).nearby
     # inactive_user has no user nearby
     assert_equal [], users(:inactive_user).nearby
+    # north_pole_user has no user nearby, and doesn't throw exception
+    assert_equal [], users(:north_pole_user).nearby
   end
-  
+
   def test_friends_with
     # normal user is a friend of second user
     # it should be a one way friend accossitation
@@ -155,7 +157,7 @@ class UserTest < ActiveSupport::TestCase
   end
 
   def test_visible
-    assert_equal 14, User.visible.count
+    assert_equal 15, User.visible.count
     assert_raise ActiveRecord::RecordNotFound do
       User.visible.find(users(:suspended_user).id)
     end
@@ -165,7 +167,7 @@ class UserTest < ActiveSupport::TestCase
   end
 
   def test_active
-    assert_equal 13, User.active.count
+    assert_equal 14, User.active.count
     assert_raise ActiveRecord::RecordNotFound do
       User.active.find(users(:inactive_user).id)
     end
@@ -178,7 +180,7 @@ class UserTest < ActiveSupport::TestCase
   end
 
   def test_public
-    assert_equal 15, User.public.count
+    assert_equal 16, User.public.count
     assert_raise ActiveRecord::RecordNotFound do
       User.public.find(users(:normal_user).id)
     end