Sha256: c5d30dae4fd52f5e48416bdc31fd661e73dc902dbcf3c696cee77fc226da8b8d

Contents?: true

Size: 751 Bytes

Versions: 1

Compression:

Stored size: 751 Bytes

Contents

require 'abstract_unit'
require 'active_support/core_ext/module/attr_accessor_with_default'

class AttrAccessorWithDefaultTest < Test::Unit::TestCase
  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
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
recliner-0.0.1 vendor/activesupport/test/core_ext/module/attr_accessor_with_default_test.rb