PageRenderTime 45ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/bundle/ruby/1.9.1/gems/i18n-0.6.0/test/locale/fallbacks_test.rb

https://bitbucket.org/sqctest01/sample_app_3_1
Ruby | 124 lines | 87 code | 27 blank | 10 comment | 20 complexity | a87166c33d2a69f846c16876feeca7f0 MD5 | raw file
Possible License(s): GPL-2.0
  1. require 'test_helper'
  2. include I18n::Locale
  3. class I18nFallbacksDefaultsTest < Test::Unit::TestCase
  4. def teardown
  5. I18n.default_locale = :en
  6. end
  7. test "defaults reflect the I18n.default_locale if no default has been set manually" do
  8. I18n.default_locale = :'en-US'
  9. fallbacks = Fallbacks.new
  10. assert_equal [:'en-US', :en], fallbacks.defaults
  11. end
  12. test "defaults reflect a manually passed default locale if any" do
  13. fallbacks = Fallbacks.new(:'fi-FI')
  14. assert_equal [:'fi-FI', :fi], fallbacks.defaults
  15. I18n.default_locale = :'de-DE'
  16. assert_equal [:'fi-FI', :fi], fallbacks.defaults
  17. end
  18. test "defaults allows to set multiple defaults" do
  19. fallbacks = Fallbacks.new(:'fi-FI', :'se-FI')
  20. assert_equal [:'fi-FI', :fi, :'se-FI', :se], fallbacks.defaults
  21. end
  22. end
  23. class I18nFallbacksComputationTest < Test::Unit::TestCase
  24. def setup
  25. @fallbacks = Fallbacks.new(:'en-US')
  26. end
  27. test "with no mappings defined it returns [:es, :en-US] for :es" do
  28. assert_equal [:es, :"en-US", :en], @fallbacks[:es]
  29. end
  30. test "with no mappings defined it returns [:es-ES, :es, :en-US] for :es-ES" do
  31. assert_equal [:"es-ES", :es, :"en-US", :en], @fallbacks[:"es-ES"]
  32. end
  33. test "with no mappings defined it returns [:es-MX, :es, :en-US] for :es-MX" do
  34. assert_equal [:"es-MX", :es, :"en-US", :en], @fallbacks[:"es-MX"]
  35. end
  36. test "with no mappings defined it returns [:es-Latn-ES, :es-Latn, :es, :en-US] for :es-Latn-ES" do
  37. assert_equal [:"es-Latn-ES", :"es-Latn", :es, :"en-US", :en], @fallbacks[:'es-Latn-ES']
  38. end
  39. test "with no mappings defined it returns [:en, :en-US] for :en" do
  40. assert_equal [:en, :"en-US"], @fallbacks[:en]
  41. end
  42. test "with no mappings defined it returns [:en-US, :en] for :en-US (special case: locale == default)" do
  43. assert_equal [:"en-US", :en], @fallbacks[:"en-US"]
  44. end
  45. # Most people who speak Catalan also live in Spain, so it is safe to assume
  46. # that they also speak Spanish as spoken in Spain.
  47. test "with a Catalan mapping defined it returns [:ca, :es-ES, :es, :en-US] for :ca" do
  48. @fallbacks.map(:ca => :"es-ES")
  49. assert_equal [:ca, :"es-ES", :es, :"en-US", :en], @fallbacks[:ca]
  50. end
  51. test "with a Catalan mapping defined it returns [:ca-ES, :ca, :es-ES, :es, :en-US] for :ca-ES" do
  52. @fallbacks.map(:ca => :"es-ES")
  53. assert_equal [:"ca-ES", :ca, :"es-ES", :es, :"en-US", :en], @fallbacks[:"ca-ES"]
  54. end
  55. # People who speak Arabic as spoken in Palestine often times also speak
  56. # Hebrew as spoken in Israel. However it is in no way safe to assume that
  57. # everybody who speaks Arabic also speaks Hebrew.
  58. test "with a Hebrew mapping defined it returns [:ar, :en-US] for :ar" do
  59. @fallbacks.map(:"ar-PS" => :"he-IL")
  60. assert_equal [:ar, :"en-US", :en], @fallbacks[:ar]
  61. end
  62. test "with a Hebrew mapping defined it returns [:ar-EG, :ar, :en-US] for :ar-EG" do
  63. @fallbacks.map(:"ar-PS" => :"he-IL")
  64. assert_equal [:"ar-EG", :ar, :"en-US", :en], @fallbacks[:"ar-EG"]
  65. end
  66. test "with a Hebrew mapping defined it returns [:ar-PS, :ar, :he-IL, :he, :en-US] for :ar-PS" do
  67. @fallbacks.map(:"ar-PS" => :"he-IL")
  68. assert_equal [:"ar-PS", :ar, :"he-IL", :he, :"en-US", :en], @fallbacks[:"ar-PS"]
  69. end
  70. # Sami people live in several scandinavian countries. In Finnland many people
  71. # know Swedish and Finnish. Thus, it can be assumed that Sami living in
  72. # Finnland also speak Swedish and Finnish.
  73. test "with a Sami mapping defined it returns [:sms-FI, :sms, :se-FI, :se, :fi-FI, :fi, :en-US] for :sms-FI" do
  74. @fallbacks.map(:sms => [:"se-FI", :"fi-FI"])
  75. assert_equal [:"sms-FI", :sms, :"se-FI", :se, :"fi-FI", :fi, :"en-US", :en], @fallbacks[:"sms-FI"]
  76. end
  77. # Austrian people understand German as spoken in Germany
  78. test "with a German mapping defined it returns [:de, :en-US] for de" do
  79. @fallbacks.map(:"de-AT" => :"de-DE")
  80. assert_equal [:de, :"en-US", :en], @fallbacks[:"de"]
  81. end
  82. test "with a German mapping defined it returns [:de-DE, :de, :en-US] for de-DE" do
  83. @fallbacks.map(:"de-AT" => :"de-DE")
  84. assert_equal [:"de-DE", :de, :"en-US", :en], @fallbacks[:"de-DE"]
  85. end
  86. test "with a German mapping defined it returns [:de-AT, :de, :de-DE, :en-US] for de-AT" do
  87. @fallbacks.map(:"de-AT" => :"de-DE")
  88. assert_equal [:"de-AT", :de, :"de-DE", :"en-US", :en], @fallbacks[:"de-AT"]
  89. end
  90. # Mapping :de => :en, :he => :en
  91. test "with a mapping :de => :en, :he => :en defined it returns [:de, :en] for :de" do
  92. assert_equal [:de, :"en-US", :en], @fallbacks[:de]
  93. end
  94. test "with a mapping :de => :en, :he => :en defined it [:he, :en] for :de" do
  95. assert_equal [:he, :"en-US", :en], @fallbacks[:he]
  96. end
  97. end