From: Tom Hughes Date: Thu, 20 Feb 2014 09:12:41 +0000 (+0000) Subject: Apparently asin now throws Math::DomainError instead of Errno::EDOM X-Git-Tag: live~4490 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/a949f98ced96734e087a040e1b4fb836001a0da6?ds=sidebyside Apparently asin now throws Math::DomainError instead of Errno::EDOM --- diff --git a/lib/osm.rb b/lib/osm.rb index a2432c1e6..9e8198299 100644 --- a/lib/osm.rb +++ b/lib/osm.rb @@ -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 diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml index 15e3cc394..8d1fcbd7a 100644 --- a/test/fixtures/users.yml +++ b/test/fixtures/users.yml @@ -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 diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index 1283f4168..1a39309f1 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -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