class ToSentenceTest

Public Instance Methods

test_always_returns_string() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 66
def test_always_returns_string
  assert_instance_of String, [ActiveSupport::SafeBuffer.new("one")].to_sentence
  assert_instance_of String, [ActiveSupport::SafeBuffer.new("one"), "two"].to_sentence
  assert_instance_of String, [ActiveSupport::SafeBuffer.new("one"), "two", "three"].to_sentence
end
test_does_not_modify_given_hash() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 48
def test_does_not_modify_given_hash
  options = { words_connector: " " }
  assert_equal "one two, and three", ["one", "two", "three"].to_sentence(options)
  assert_equal({ words_connector: " " }, options)
end
test_one_element() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 35
def test_one_element
  assert_equal "one", ["one"].to_sentence
end
test_one_element_not_same_object() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 39
def test_one_element_not_same_object
  elements = ["one"]
  assert_not_equal elements[0].object_id, elements.to_sentence.object_id
end
test_one_non_string_element() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 44
def test_one_non_string_element
  assert_equal "1", [1].to_sentence
end
test_plain_array_to_sentence() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 10
def test_plain_array_to_sentence
  assert_equal "", [].to_sentence
  assert_equal "one", ["one"].to_sentence
  assert_equal "one and two", ["one", "two"].to_sentence
  assert_equal "one, two, and three", ["one", "two", "three"].to_sentence
end
test_to_sentence_with_last_word_connector() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 23
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
test_to_sentence_with_words_connector() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 17
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
test_two_elements() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 30
def test_two_elements
  assert_equal "one and two", ["one", "two"].to_sentence
  assert_equal "one two", ["one", "two"].to_sentence(two_words_connector: " ")
end
test_with_blank_elements() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 54
def test_with_blank_elements
  assert_equal ", one, , two, and three", [nil, "one", "", "two", "three"].to_sentence
end
test_with_invalid_options() click to toggle source
# File activesupport/test/core_ext/array/conversions_test.rb, line 58
def test_with_invalid_options
  exception = assert_raise ArgumentError do
    ["one", "two"].to_sentence(passing: "invalid option")
  end

  assert_equal "Unknown key: :passing. Valid keys are: :words_connector, :two_words_connector, :last_word_connector, :locale", exception.message
end