From 273c770011ab43d4b523caacb808bce070922d77 Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Tue, 18 Nov 2008 02:16:08 +0900 Subject: Change Array#to_sentence I18n options to pass comma and space character from outside. [#1397 state:committed] Signed-off-by: Jeremy Kemper --- activesupport/test/core_ext/array_ext_test.rb | 19 ++++++++++--------- activesupport/test/i18n_test.rb | 21 +++++++++++++++------ 2 files changed, 25 insertions(+), 15 deletions(-) (limited to 'activesupport/test') diff --git a/activesupport/test/core_ext/array_ext_test.rb b/activesupport/test/core_ext/array_ext_test.rb index 01b243cdb5..93f4482307 100644 --- a/activesupport/test/core_ext/array_ext_test.rb +++ b/activesupport/test/core_ext/array_ext_test.rb @@ -55,21 +55,22 @@ class ArrayExtToSentenceTests < Test::Unit::TestCase assert_equal "one, two, and three", ['one', 'two', 'three'].to_sentence end - def test_to_sentence_with_connector - assert_equal "one, two, and also three", ['one', 'two', 'three'].to_sentence(:connector => 'and also') - assert_equal "one, two, three", ['one', 'two', 'three'].to_sentence(:connector => '') - assert_equal "one, two, three", ['one', 'two', 'three'].to_sentence(:connector => nil) - assert_equal "one, two, three", ['one', 'two', 'three'].to_sentence(:connector => ' ') - assert_equal "one, two, and three", ['one', 'two', 'three'].to_sentence(:connector => 'and ') + def test_to_sentence_with_words_connector + assert_equal "one two, and three", ['one', 'two', 'three'].to_sentence(:words_connector => ' ') + assert_equal "one & two, and three", ['one', 'two', 'three'].to_sentence(:words_connector => ' & ') + assert_equal "onetwo, and three", ['one', 'two', 'three'].to_sentence(:words_connector => nil) end - def test_to_sentence_with_skip_last_comma - assert_equal "one, two, and three", ['one', 'two', 'three'].to_sentence(:skip_last_comma => false) + def test_to_sentence_with_last_word_connector + assert_equal "one, two, and also three", ['one', 'two', 'three'].to_sentence(:last_word_connector => ', and also ') + assert_equal "one, twothree", ['one', 'two', 'three'].to_sentence(:last_word_connector => nil) + assert_equal "one, two three", ['one', 'two', 'three'].to_sentence(:last_word_connector => ' ') + assert_equal "one, two and three", ['one', 'two', 'three'].to_sentence(:last_word_connector => ' and ') end def test_two_elements assert_equal "one and two", ['one', 'two'].to_sentence - assert_equal "one two", ['one', 'two'].to_sentence(:connector => '') + assert_equal "one two", ['one', 'two'].to_sentence(:two_words_connector => ' ') end def test_one_element diff --git a/activesupport/test/i18n_test.rb b/activesupport/test/i18n_test.rb index cfb8c76d52..7535f4ad7a 100644 --- a/activesupport/test/i18n_test.rb +++ b/activesupport/test/i18n_test.rb @@ -71,19 +71,28 @@ class I18nTest < Test::Unit::TestCase assert_equal 'pm', I18n.translate(:'time.pm') end - def test_sentence_connector - assert_equal 'and', I18n.translate(:'support.array.sentence_connector') + def test_words_connector + assert_equal ', ', I18n.translate(:'support.array.words_connector') end - def test_skip_last_comma - assert_equal false, I18n.translate(:'support.array.skip_last_comma') + def test_two_words_connector + assert_equal ' and ', I18n.translate(:'support.array.two_words_connector') + end + + def test_last_word_connector + assert_equal ', and ', I18n.translate(:'support.array.last_word_connector') end def test_to_sentence + default_two_words_connector = I18n.translate(:'support.array.two_words_connector') + default_last_word_connector = I18n.translate(:'support.array.last_word_connector') assert_equal 'a, b, and c', %w[a b c].to_sentence - I18n.backend.store_translations 'en', :support => { :array => { :skip_last_comma => true } } + I18n.backend.store_translations 'en', :support => { :array => { :two_words_connector => ' & ' } } + assert_equal 'a & b', %w[a b].to_sentence + I18n.backend.store_translations 'en', :support => { :array => { :last_word_connector => ' and ' } } assert_equal 'a, b and c', %w[a b c].to_sentence ensure - I18n.backend.store_translations 'en', :support => { :array => { :skip_last_comma => false } } + I18n.backend.store_translations 'en', :support => { :array => { :two_words_connector => default_two_words_connector } } + I18n.backend.store_translations 'en', :support => { :array => { :last_word_connector => default_last_word_connector } } end end -- cgit v1.2.3