Merge pull request #15658 from akshay-vishnoi/object-tests
Move object test files under object
This commit is contained in:
commit
3ac731c4d0
33
activesupport/test/core_ext/object/acts_like_test.rb
Normal file
33
activesupport/test/core_ext/object/acts_like_test.rb
Normal file
@ -0,0 +1,33 @@
|
||||
require 'abstract_unit'
|
||||
require 'active_support/core_ext/object'
|
||||
|
||||
class ObjectTests < ActiveSupport::TestCase
|
||||
class DuckTime
|
||||
def acts_like_time?
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
def test_duck_typing
|
||||
object = Object.new
|
||||
time = Time.now
|
||||
date = Date.today
|
||||
dt = DateTime.new
|
||||
duck = DuckTime.new
|
||||
|
||||
assert !object.acts_like?(:time)
|
||||
assert !object.acts_like?(:date)
|
||||
|
||||
assert time.acts_like?(:time)
|
||||
assert !time.acts_like?(:date)
|
||||
|
||||
assert !date.acts_like?(:time)
|
||||
assert date.acts_like?(:date)
|
||||
|
||||
assert dt.acts_like?(:time)
|
||||
assert dt.acts_like?(:date)
|
||||
|
||||
assert duck.acts_like?(:time)
|
||||
assert !duck.acts_like?(:date)
|
||||
end
|
||||
end
|
@ -0,0 +1,31 @@
|
||||
require 'abstract_unit'
|
||||
require 'active_support/core_ext/object'
|
||||
|
||||
class ObjectInstanceVariableTest < ActiveSupport::TestCase
|
||||
def setup
|
||||
@source, @dest = Object.new, Object.new
|
||||
@source.instance_variable_set(:@bar, 'bar')
|
||||
@source.instance_variable_set(:@baz, 'baz')
|
||||
end
|
||||
|
||||
def test_instance_variable_names
|
||||
assert_equal %w(@bar @baz), @source.instance_variable_names.sort
|
||||
end
|
||||
|
||||
def test_instance_values
|
||||
assert_equal({'bar' => 'bar', 'baz' => 'baz'}, @source.instance_values)
|
||||
end
|
||||
|
||||
def test_instance_exec_passes_arguments_to_block
|
||||
assert_equal %w(hello goodbye), 'hello'.instance_exec('goodbye') { |v| [self, v] }
|
||||
end
|
||||
|
||||
def test_instance_exec_with_frozen_obj
|
||||
assert_equal %w(olleh goodbye), 'hello'.freeze.instance_exec('goodbye') { |v| [reverse, v] }
|
||||
end
|
||||
|
||||
def test_instance_exec_nested
|
||||
assert_equal %w(goodbye olleh bar), 'hello'.instance_exec('goodbye') { |arg|
|
||||
[arg] + instance_exec('bar') { |v| [reverse, v] } }
|
||||
end
|
||||
end
|
@ -1,70 +1,6 @@
|
||||
require 'abstract_unit'
|
||||
require 'active_support/time'
|
||||
require 'active_support/core_ext/object'
|
||||
|
||||
class ObjectTests < ActiveSupport::TestCase
|
||||
class DuckTime
|
||||
def acts_like_time?
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
def test_duck_typing
|
||||
object = Object.new
|
||||
time = Time.now
|
||||
date = Date.today
|
||||
dt = DateTime.new
|
||||
duck = DuckTime.new
|
||||
|
||||
assert !object.acts_like?(:time)
|
||||
assert !object.acts_like?(:date)
|
||||
|
||||
assert time.acts_like?(:time)
|
||||
assert !time.acts_like?(:date)
|
||||
|
||||
assert !date.acts_like?(:time)
|
||||
assert date.acts_like?(:date)
|
||||
|
||||
assert dt.acts_like?(:time)
|
||||
assert dt.acts_like?(:date)
|
||||
|
||||
assert duck.acts_like?(:time)
|
||||
assert !duck.acts_like?(:date)
|
||||
end
|
||||
end
|
||||
|
||||
class ObjectInstanceVariableTest < ActiveSupport::TestCase
|
||||
def setup
|
||||
@source, @dest = Object.new, Object.new
|
||||
@source.instance_variable_set(:@bar, 'bar')
|
||||
@source.instance_variable_set(:@baz, 'baz')
|
||||
end
|
||||
|
||||
def test_instance_variable_names
|
||||
assert_equal %w(@bar @baz), @source.instance_variable_names.sort
|
||||
end
|
||||
|
||||
def test_instance_values
|
||||
object = Object.new
|
||||
object.instance_variable_set :@a, 1
|
||||
object.instance_variable_set :@b, 2
|
||||
assert_equal({'a' => 1, 'b' => 2}, object.instance_values)
|
||||
end
|
||||
|
||||
def test_instance_exec_passes_arguments_to_block
|
||||
assert_equal %w(hello goodbye), 'hello'.instance_exec('goodbye') { |v| [self, v] }
|
||||
end
|
||||
|
||||
def test_instance_exec_with_frozen_obj
|
||||
assert_equal %w(olleh goodbye), 'hello'.freeze.instance_exec('goodbye') { |v| [reverse, v] }
|
||||
end
|
||||
|
||||
def test_instance_exec_nested
|
||||
assert_equal %w(goodbye olleh bar), 'hello'.instance_exec('goodbye') { |arg|
|
||||
[arg] + instance_exec('bar') { |v| [reverse, v] } }
|
||||
end
|
||||
end
|
||||
|
||||
class ObjectTryTest < ActiveSupport::TestCase
|
||||
def setup
|
||||
@string = "Hello"
|
||||
@ -140,7 +76,7 @@ def private_method
|
||||
|
||||
assert_raise(NoMethodError) { klass.new.try!(:private_method) }
|
||||
end
|
||||
|
||||
|
||||
def test_try_with_private_method
|
||||
klass = Class.new do
|
||||
private
|
Loading…
Reference in New Issue
Block a user