2008-05-18 06:22:34 +02:00
|
|
|
require 'abstract_unit'
|
2007-02-10 00:12:31 +01:00
|
|
|
|
2007-12-21 08:48:59 +01:00
|
|
|
class AttrAccessorWithDefaultTest < Test::Unit::TestCase
|
2007-02-10 00:12:31 +01:00
|
|
|
def setup
|
|
|
|
@target = Class.new do
|
|
|
|
def helper
|
|
|
|
'helper'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
@instance = @target.new
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_default_arg
|
|
|
|
@target.attr_accessor_with_default :foo, :bar
|
|
|
|
assert_equal(:bar, @instance.foo)
|
|
|
|
@instance.foo = nil
|
|
|
|
assert_nil(@instance.foo)
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_default_proc
|
|
|
|
@target.attr_accessor_with_default(:foo) {helper.upcase}
|
|
|
|
assert_equal('HELPER', @instance.foo)
|
|
|
|
@instance.foo = nil
|
|
|
|
assert_nil(@instance.foo)
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_invalid_args
|
|
|
|
assert_raise(RuntimeError) {@target.attr_accessor_with_default :foo}
|
|
|
|
end
|
2008-05-18 06:22:34 +02:00
|
|
|
end
|