Add some more tests for library code

This commit is contained in:
Tom Hughes 2014-02-26 00:33:19 +00:00
parent 1c46fb5891
commit e83fdf09e2
2 changed files with 46 additions and 0 deletions

28
test/lib/country_test.rb Normal file
View file

@ -0,0 +1,28 @@
require 'test_helper'
class CountryTest < ActiveSupport::TestCase
def test_gb
gb = Country.find_by_code("GB")
assert_not_nil gb
assert_equal "GB", gb.code
assert_equal -8.623555, gb.min_lon
assert_equal 59.360249, gb.max_lat
assert_equal 1.759, gb.max_lon
assert_equal 49.906193, gb.min_lat
end
def test_au
au = Country.find_by_code("AU")
assert_not_nil au
assert_equal "AU", au.code
assert_equal 112.911057, au.min_lon
assert_equal -10.062805, au.max_lat
assert_equal 153.639252, au.max_lon
assert_equal -43.64397, au.min_lat
end
def test_xx
xx = Country.find_by_code("XX")
assert_nil xx
end
end

18
test/lib/utf8_test.rb Normal file
View file

@ -0,0 +1,18 @@
# -*- coding: utf-8 -*-
require 'test_helper'
class UTF8Test < ActiveSupport::TestCase
def test_valid?
assert_equal true, UTF8.valid?("test")
assert_equal true, UTF8.valid?("vergrößern")
assert_equal true, UTF8.valid?("ルシステムにも対応します")
assert_equal true, UTF8.valid?("輕觸搖晃的遊戲")
assert_equal false, UTF8.valid?("\xC0") # always invalid utf8
assert_equal false, UTF8.valid?("\xC2\x4a") # 2-byte multibyte identifier, followed by plain ASCII
assert_equal false, UTF8.valid?("\xC2\xC2") # 2-byte multibyte identifier, followed by another one
assert_equal false, UTF8.valid?("\x4a\x82") # plain ASCII, followed by multibyte continuation
assert_equal false, UTF8.valid?("\x82\x82") # multibyte continuations without multibyte identifier
assert_equal false, UTF8.valid?("\xe1\x82\x4a") # three-byte identifier, contination and (incorrectly) plain ASCII
end
end