Split test_defined
This commit is contained in:
parent
8119bcbfc0
commit
de9d6a7a8c
@ -23,24 +23,30 @@ class TestDefined < Test::Unit::TestCase
|
||||
return !defined?(yield)
|
||||
end
|
||||
|
||||
def test_defined
|
||||
def test_defined_gloval_variable
|
||||
$x = nil
|
||||
|
||||
assert(defined?($x)) # global variable
|
||||
assert_equal('global-variable', defined?($x))# returns description
|
||||
end
|
||||
|
||||
def test_defined_local_variable
|
||||
assert_nil(defined?(foo)) # undefined
|
||||
foo=5
|
||||
assert(defined?(foo)) # local variable
|
||||
end
|
||||
|
||||
def test_defined_constant
|
||||
assert(defined?(Array)) # constant
|
||||
assert(defined?(::Array)) # toplevel constant
|
||||
assert(defined?(File::Constants)) # nested constant
|
||||
end
|
||||
|
||||
def test_defined_method
|
||||
assert(defined?(Object.new)) # method
|
||||
assert(defined?(Object::new)) # method
|
||||
assert(!defined?(Object.print)) # private method
|
||||
assert(defined?(1 == 2)) # operator expression
|
||||
|
||||
f = Foo.new
|
||||
assert_nil(defined?(f.foo)) # protected method
|
||||
f.bar(f) { |v| assert(v) }
|
||||
@ -53,10 +59,14 @@ class TestDefined < Test::Unit::TestCase
|
||||
assert_nil(defined?(quux(x)))
|
||||
assert(defined?(f.attr = 1))
|
||||
f.attrasgn_test { |v| assert(v) }
|
||||
end
|
||||
|
||||
def test_defined_yield
|
||||
assert(defined_test) # not iterator
|
||||
assert(!defined_test{}) # called as iterator
|
||||
end
|
||||
|
||||
def test_defined_matchdata
|
||||
/a/ =~ ''
|
||||
assert_equal nil, defined?($&)
|
||||
assert_equal nil, defined?($`)
|
||||
@ -85,12 +95,16 @@ class TestDefined < Test::Unit::TestCase
|
||||
assert_equal 'global-variable', defined?($+)
|
||||
assert_equal 'global-variable', defined?($1)
|
||||
assert_equal nil, defined?($2)
|
||||
end
|
||||
|
||||
def test_defined_literal
|
||||
assert_equal("nil", defined?(nil))
|
||||
assert_equal("true", defined?(true))
|
||||
assert_equal("false", defined?(false))
|
||||
assert_equal("expression", defined?(1))
|
||||
end
|
||||
|
||||
def test_defined_empty_paren_expr
|
||||
bug8224 = '[ruby-core:54024] [Bug #8224]'
|
||||
(1..3).each do |level|
|
||||
expr = "("*level+")"*level
|
||||
|
Loading…
x
Reference in New Issue
Block a user