Apparently asin now throws Math::DomainError instead of Errno::EDOM

This commit is contained in:
Tom Hughes 2014-02-20 09:12:41 +00:00
parent 41b1bd4a70
commit a949f98ced
3 changed files with 22 additions and 6 deletions

View file

@ -399,7 +399,7 @@ module OSM
begin begin
lonradius = 2 * asin(sqrt(sin(radius / 6372.795 / 2) ** 2 / cos(@lat) ** 2)) lonradius = 2 * asin(sqrt(sin(radius / 6372.795 / 2) ** 2 / cos(@lat) ** 2))
rescue Errno::EDOM rescue Errno::EDOM, Math::DomainError
lonradius = PI lonradius = PI
end end

View file

@ -213,3 +213,17 @@ super_user:
terms_agreed: "2010-01-01 11:22:33" terms_agreed: "2010-01-01 11:22:33"
terms_seen: true terms_seen: true
languages: en 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

View 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(:normal_user))
assert !users(:inactive_user).is_friends_with?(users(:public_user)) assert !users(:inactive_user).is_friends_with?(users(:public_user))
end end
def test_users_nearby def test_users_nearby
# second user has their data public and is close by normal user # second user has their data public and is close by normal user
assert_equal [users(:public_user)], users(:normal_user).nearby assert_equal [users(:public_user)], users(:normal_user).nearby
@ -117,8 +117,10 @@ class UserTest < ActiveSupport::TestCase
assert_equal [], users(:public_user).nearby assert_equal [], users(:public_user).nearby
# inactive_user has no user nearby # inactive_user has no user nearby
assert_equal [], users(:inactive_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 end
def test_friends_with def test_friends_with
# normal user is a friend of second user # normal user is a friend of second user
# it should be a one way friend accossitation # it should be a one way friend accossitation
@ -155,7 +157,7 @@ class UserTest < ActiveSupport::TestCase
end end
def test_visible def test_visible
assert_equal 14, User.visible.count assert_equal 15, User.visible.count
assert_raise ActiveRecord::RecordNotFound do assert_raise ActiveRecord::RecordNotFound do
User.visible.find(users(:suspended_user).id) User.visible.find(users(:suspended_user).id)
end end
@ -165,7 +167,7 @@ class UserTest < ActiveSupport::TestCase
end end
def test_active def test_active
assert_equal 13, User.active.count assert_equal 14, User.active.count
assert_raise ActiveRecord::RecordNotFound do assert_raise ActiveRecord::RecordNotFound do
User.active.find(users(:inactive_user).id) User.active.find(users(:inactive_user).id)
end end
@ -178,7 +180,7 @@ class UserTest < ActiveSupport::TestCase
end end
def test_public def test_public
assert_equal 15, User.public.count assert_equal 16, User.public.count
assert_raise ActiveRecord::RecordNotFound do assert_raise ActiveRecord::RecordNotFound do
User.public.find(users(:normal_user).id) User.public.find(users(:normal_user).id)
end end