class ExtractOptionsTest

Public Instance Methods

test_extract_options() click to toggle source
# File activesupport/test/core_ext/array/extract_options_test.rb, line 17
def test_extract_options
  assert_equal({}, [].extract_options!)
  assert_equal({}, [1].extract_options!)
  assert_equal({ a: :b }, [{ a: :b }].extract_options!)
  assert_equal({ a: :b }, [1, { a: :b }].extract_options!)
end
test_extract_options_doesnt_extract_hash_subclasses() click to toggle source
# File activesupport/test/core_ext/array/extract_options_test.rb, line 24
def test_extract_options_doesnt_extract_hash_subclasses
  hash = HashSubclass.new
  hash[:foo] = 1
  array = [hash]
  options = array.extract_options!
  assert_equal({}, options)
  assert_equal([hash], array)
end
test_extract_options_extracts_extractable_subclass() click to toggle source
# File activesupport/test/core_ext/array/extract_options_test.rb, line 33
def test_extract_options_extracts_extractable_subclass
  hash = ExtractableHashSubclass.new
  hash[:foo] = 1
  array = [hash]
  options = array.extract_options!
  assert_equal({ foo: 1 }, options)
  assert_equal([], array)
end
test_extract_options_extracts_hash_with_indifferent_access() click to toggle source
# File activesupport/test/core_ext/array/extract_options_test.rb, line 42
def test_extract_options_extracts_hash_with_indifferent_access
  array = [{ foo: 1 }.with_indifferent_access]
  options = array.extract_options!
  assert_equal(1, options[:foo])
end