Merge pull request #15658 from akshay-vishnoi/object-tests

Move object test files under object
This commit is contained in:
Rafael Mendonça França 2014-07-28 20:42:27 -03:00
commit 3ac731c4d0
3 changed files with 65 additions and 65 deletions

@ -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