4
4
class I18nTest < Test::Unit::TestCase
6
6
I18n.backend.store_translations(:'en', :currency => { :format => { :separator => '.', :delimiter => ',', } })
7
I18n.backend.store_translations(:'nl', :currency => { :format => { :separator => ',', :delimiter => '.', } })
9
10
test "exposes its VERSION constant" do
40
test "raises an I18n::InvalidLocale exception when setting an unavailable default locale" do
42
I18n.config.enforce_available_locales = true
43
assert_raise(I18n::InvalidLocale) { I18n.default_locale = :klingon }
45
I18n.config.enforce_available_locales = false
39
49
test "uses the default locale as a locale by default" do
40
50
assert_equal I18n.default_locale, I18n.locale
46
56
assert_equal :de, Thread.current[:i18n_config].locale
60
test "raises an I18n::InvalidLocale exception when setting an unavailable locale" do
62
I18n.config.enforce_available_locales = true
63
assert_raise(I18n::InvalidLocale) { I18n.locale = :klingon }
65
I18n.config.enforce_available_locales = false
50
69
test "can set the configuration object" do
187
206
assert_raise(I18n::ArgumentError) { I18n.t("") }
209
test "translate given an unavailable locale rases an I18n::InvalidLocale" do
211
I18n.config.enforce_available_locales = true
212
assert_raise(I18n::InvalidLocale) { I18n.t(:foo, :locale => 'klingon') }
214
I18n.config.enforce_available_locales = false
218
test "exists? given an existing key will return true" do
219
assert_equal true, I18n.exists?(:currency)
222
test "exists? given a non-existing key will return false" do
223
assert_equal false, I18n.exists?(:bogus)
226
test "exists? given an existing dot-separated key will return true" do
227
assert_equal true, I18n.exists?('currency.format.delimiter')
230
test "exists? given a non-existing dot-separated key will return false" do
231
assert_equal false, I18n.exists?('currency.format.bogus')
234
test "exists? given an existing key and an existing locale will return true" do
235
assert_equal true, I18n.exists?(:currency, :nl)
238
test "exists? given a non-existing key and an existing locale will return false" do
239
assert_equal false, I18n.exists?(:bogus, :nl)
190
242
test "localize given nil raises an I18n::ArgumentError" do
191
243
assert_raise(I18n::ArgumentError) { I18n.l nil }
194
test "localize givan an Object raises an I18n::ArgumentError" do
246
test "localize given an Object raises an I18n::ArgumentError" do
195
247
assert_raise(I18n::ArgumentError) { I18n.l Object.new }
250
test "localize given an unavailable locale rases an I18n::InvalidLocale" do
252
I18n.config.enforce_available_locales = true
253
assert_raise(I18n::InvalidLocale) { I18n.l(Time.now, :locale => 'klingon') }
255
I18n.config.enforce_available_locales = false
198
259
test "can use a lambda as an exception handler" do
200
261
previous_exception_handler = I18n.exception_handler
315
test "transliterate given an unavailable locale rases an I18n::InvalidLocale" do
317
I18n.config.enforce_available_locales = true
318
assert_raise(I18n::InvalidLocale) { I18n.transliterate('string', :locale => 'klingon') }
320
I18n.config.enforce_available_locales = false
324
test "I18n.locale_available? returns true when the passed locale is available" do
325
I18n.available_locales = [:en, :de]
326
assert_equal true, I18n.locale_available?(:de)
329
test "I18n.locale_available? returns true when the passed locale is a string and is available" do
330
I18n.available_locales = [:en, :de]
331
assert_equal true, I18n.locale_available?('de')
334
test "I18n.locale_available? returns false when the passed locale is unavailable" do
335
assert_equal false, I18n.locale_available?(:klingon)
338
test "I18n.enforce_available_locales! raises an I18n::InvalidLocale when the passed locale is unavailable" do
340
I18n.config.enforce_available_locales = true
341
assert_raise(I18n::InvalidLocale) { I18n.enforce_available_locales!(:klingon) }
343
I18n.config.enforce_available_locales = false
347
test "I18n.enforce_available_locales! does nothing when the passed locale is available" do
348
I18n.available_locales = [:en, :de]
350
I18n.config.enforce_available_locales = true
351
assert_nothing_raised { I18n.enforce_available_locales!(:en) }
353
I18n.config.enforce_available_locales = false
357
test "I18n.enforce_available_locales config can be set to false" do
359
I18n.config.enforce_available_locales = false
360
assert_equal false, I18n.config.enforce_available_locales
362
I18n.config.enforce_available_locales = false