Sha256: 4b09bac80a11b57e0d228d38c985897bb976dae9bc9bc83648525cda51b6c4b1

Contents?: true

Size: 1.71 KB

Versions: 61

Compression:

Stored size: 1.71 KB

Contents

require File.dirname(__FILE__) + '/../../abstract_unit'

class AttrInternalTest < Test::Unit::TestCase
  def setup
    @target = Class.new
    @instance = @target.new
  end

  def test_attr_internal_reader
    assert_nothing_raised { @target.attr_internal_reader :foo }

    assert !@instance.instance_variables.include?('@_foo')
    assert_raise(NoMethodError) { @instance.foo = 1 }

    @instance.instance_variable_set('@_foo', 1)
    assert_nothing_raised { assert_equal 1, @instance.foo }
  end

  def test_attr_internal_writer
    assert_nothing_raised { @target.attr_internal_writer :foo }

    assert !@instance.instance_variables.include?('@_foo')
    assert_nothing_raised { assert_equal 1, @instance.foo = 1 }

    assert_equal 1, @instance.instance_variable_get('@_foo')
    assert_raise(NoMethodError) { @instance.foo }
  end

  def test_attr_internal_accessor
    assert_nothing_raised { @target.attr_internal :foo }

    assert !@instance.instance_variables.include?('@_foo')
    assert_nothing_raised { assert_equal 1, @instance.foo = 1 }

    assert_equal 1, @instance.instance_variable_get('@_foo')
    assert_nothing_raised { assert_equal 1, @instance.foo }
  end

  def test_attr_internal_naming_format
    assert_equal '@_%s', @target.attr_internal_naming_format
    assert_nothing_raised { @target.attr_internal_naming_format = '@abc%sdef' }
    @target.attr_internal :foo

    assert !@instance.instance_variables.include?('@_foo')
    assert !@instance.instance_variables.include?('@abcfoodef')
    assert_nothing_raised { @instance.foo = 1 }
    assert !@instance.instance_variables.include?('@_foo')
    assert @instance.instance_variables.include?('@abcfoodef')
  ensure
    @target.attr_internal_naming_format = '@_%s'
  end
end

Version data entries

61 entries across 61 versions & 2 rubygems

Version Path
backlog-0.0.0 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.0.1 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.0.2 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.0.5 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.0.4 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.1.0 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.1.1 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.1.2 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.2.0 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.2.1 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.3.0 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.3.2 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.3.3 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.3.1 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.3.4 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.3.6 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.3.5 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.3.7 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.3.8 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb
backlog-0.3.9 vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb