~ubuntu-branches/ubuntu/vivid/ruby-i18n/vivid

« back to all changes in this revision

Viewing changes to test/i18n_test.rb

  • Committer: Package Import Robot
  • Author(s): Jonas Genannt
  • Date: 2013-12-30 19:29:26 UTC
  • mfrom: (1.2.2)
  • Revision ID: package-import@ubuntu.com-20131230192926-8o6zv7zu8xj8egf3
Tags: 0.6.9-1
* Team upload.
* Imported Upstream version 0.6.9
  - fixes CVE-2013-4492

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
class I18nTest < Test::Unit::TestCase
5
5
  def setup
6
6
    I18n.backend.store_translations(:'en', :currency => { :format => { :separator => '.', :delimiter => ',', } })
 
7
    I18n.backend.store_translations(:'nl', :currency => { :format => { :separator => ',', :delimiter => '.', } })
7
8
  end
8
9
 
9
10
  test "exposes its VERSION constant" do
36
37
    end
37
38
  end
38
39
 
 
40
  test "raises an I18n::InvalidLocale exception when setting an unavailable default locale" do
 
41
    begin
 
42
      I18n.config.enforce_available_locales = true
 
43
      assert_raise(I18n::InvalidLocale) { I18n.default_locale = :klingon }
 
44
    ensure
 
45
      I18n.config.enforce_available_locales = false
 
46
    end
 
47
  end
 
48
 
39
49
  test "uses the default locale as a locale by default" do
40
50
    assert_equal I18n.default_locale, I18n.locale
41
51
  end
46
56
    assert_equal :de, Thread.current[:i18n_config].locale
47
57
    I18n.locale = :en
48
58
  end
 
59
  
 
60
  test "raises an I18n::InvalidLocale exception when setting an unavailable locale" do
 
61
    begin
 
62
      I18n.config.enforce_available_locales = true
 
63
      assert_raise(I18n::InvalidLocale) { I18n.locale = :klingon }
 
64
    ensure
 
65
      I18n.config.enforce_available_locales = false
 
66
    end
 
67
  end
49
68
 
50
69
  test "can set the configuration object" do
51
70
    begin
187
206
    assert_raise(I18n::ArgumentError) { I18n.t("") }
188
207
  end
189
208
 
 
209
  test "translate given an unavailable locale rases an I18n::InvalidLocale" do
 
210
    begin
 
211
      I18n.config.enforce_available_locales = true
 
212
      assert_raise(I18n::InvalidLocale) { I18n.t(:foo, :locale => 'klingon') }
 
213
    ensure
 
214
      I18n.config.enforce_available_locales = false
 
215
    end
 
216
  end
 
217
 
 
218
  test "exists? given an existing key will return true" do
 
219
    assert_equal true, I18n.exists?(:currency)
 
220
  end
 
221
 
 
222
  test "exists? given a non-existing key will return false" do
 
223
    assert_equal false, I18n.exists?(:bogus)
 
224
  end
 
225
 
 
226
  test "exists? given an existing dot-separated key will return true" do
 
227
    assert_equal true, I18n.exists?('currency.format.delimiter')
 
228
  end
 
229
 
 
230
  test "exists? given a non-existing dot-separated key will return false" do
 
231
    assert_equal false, I18n.exists?('currency.format.bogus')
 
232
  end
 
233
 
 
234
  test "exists? given an existing key and an existing locale will return true" do
 
235
    assert_equal true, I18n.exists?(:currency, :nl)
 
236
  end
 
237
 
 
238
  test "exists? given a non-existing key and an existing locale will return false" do
 
239
    assert_equal false, I18n.exists?(:bogus, :nl)
 
240
  end
 
241
 
190
242
  test "localize given nil raises an I18n::ArgumentError" do
191
243
    assert_raise(I18n::ArgumentError) { I18n.l nil }
192
244
  end
193
245
 
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 }
196
248
  end
197
249
 
 
250
  test "localize given an unavailable locale rases an I18n::InvalidLocale" do
 
251
    begin
 
252
      I18n.config.enforce_available_locales = true
 
253
      assert_raise(I18n::InvalidLocale) { I18n.l(Time.now, :locale => 'klingon') }
 
254
    ensure
 
255
      I18n.config.enforce_available_locales = false
 
256
    end
 
257
  end
 
258
 
198
259
  test "can use a lambda as an exception handler" do
199
260
    begin
200
261
      previous_exception_handler = I18n.exception_handler
251
312
    }
252
313
  end
253
314
 
 
315
  test "transliterate given an unavailable locale rases an I18n::InvalidLocale" do
 
316
    begin
 
317
      I18n.config.enforce_available_locales = true
 
318
      assert_raise(I18n::InvalidLocale) { I18n.transliterate('string', :locale => 'klingon') }
 
319
    ensure
 
320
      I18n.config.enforce_available_locales = false
 
321
    end
 
322
  end
 
323
 
 
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)
 
327
  end
 
328
 
 
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')
 
332
  end
 
333
 
 
334
  test "I18n.locale_available? returns false when the passed locale is unavailable" do
 
335
    assert_equal false, I18n.locale_available?(:klingon)
 
336
  end
 
337
 
 
338
  test "I18n.enforce_available_locales! raises an I18n::InvalidLocale when the passed locale is unavailable" do
 
339
    begin
 
340
      I18n.config.enforce_available_locales = true
 
341
      assert_raise(I18n::InvalidLocale) { I18n.enforce_available_locales!(:klingon) }
 
342
    ensure
 
343
      I18n.config.enforce_available_locales = false
 
344
    end
 
345
  end
 
346
 
 
347
  test "I18n.enforce_available_locales! does nothing when the passed locale is available" do
 
348
    I18n.available_locales = [:en, :de]
 
349
    begin
 
350
      I18n.config.enforce_available_locales = true
 
351
      assert_nothing_raised { I18n.enforce_available_locales!(:en) }
 
352
    ensure
 
353
      I18n.config.enforce_available_locales = false
 
354
    end
 
355
  end
 
356
 
 
357
  test "I18n.enforce_available_locales config can be set to false" do
 
358
    begin
 
359
      I18n.config.enforce_available_locales = false
 
360
      assert_equal false, I18n.config.enforce_available_locales
 
361
    ensure
 
362
      I18n.config.enforce_available_locales = false
 
363
    end
 
364
  end
254
365
end