diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-06-05 10:46:34 -0700 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-06-05 10:46:34 -0700 |
commit | 5b3d1401f2dae7c98051acbbc1cbe61274655edc (patch) | |
tree | 3386464d8ebb753f3586c9b73f4f60cffec4271c /activesupport/test | |
parent | 8359a2f98156d9a870536c75d1a5c6f3fab6fb96 (diff) | |
parent | 5e1d40f7734dd65b52e45547284385c405347e2c (diff) | |
download | rails-5b3d1401f2dae7c98051acbbc1cbe61274655edc.tar.gz rails-5b3d1401f2dae7c98051acbbc1cbe61274655edc.tar.bz2 rails-5b3d1401f2dae7c98051acbbc1cbe61274655edc.zip |
Merge pull request #6638 from frodsan/config_accessor
add instance_accessor option to config_accessor
Diffstat (limited to 'activesupport/test')
-rw-r--r-- | activesupport/test/configurable_test.rb | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/activesupport/test/configurable_test.rb b/activesupport/test/configurable_test.rb index 2e5ea2c360..da7729d066 100644 --- a/activesupport/test/configurable_test.rb +++ b/activesupport/test/configurable_test.rb @@ -5,7 +5,8 @@ class ConfigurableActiveSupport < ActiveSupport::TestCase class Parent include ActiveSupport::Configurable config_accessor :foo - config_accessor :bar, :instance_reader => false, :instance_writer => false + config_accessor :bar, instance_reader: false, instance_writer: false + config_accessor :baz, instance_accessor: false end class Child < Parent @@ -19,13 +20,13 @@ class ConfigurableActiveSupport < ActiveSupport::TestCase end test "adds a configuration hash" do - assert_equal({ :foo => :bar }, Parent.config) + assert_equal({ foo: :bar }, Parent.config) end test "adds a configuration hash to a module as well" do mixin = Module.new { include ActiveSupport::Configurable } mixin.config.foo = :bar - assert_equal({ :foo => :bar }, mixin.config) + assert_equal({ foo: :bar }, mixin.config) end test "configuration hash is inheritable" do @@ -39,8 +40,12 @@ class ConfigurableActiveSupport < ActiveSupport::TestCase test "configuration accessors is not available on instance" do instance = Parent.new + assert !instance.respond_to?(:bar) assert !instance.respond_to?(:bar=) + + assert !instance.respond_to?(:baz) + assert !instance.respond_to?(:baz=) end test "configuration hash is available on instance" do @@ -71,6 +76,15 @@ class ConfigurableActiveSupport < ActiveSupport::TestCase assert_method_defined child.new.config, :bar end + test "should raise name error if attribute name is invalid" do + assert_raises NameError do + Class.new do + include ActiveSupport::Configurable + config_accessor "invalid attribute name" + end + end + end + def assert_method_defined(object, method) methods = object.public_methods.map(&:to_s) assert methods.include?(method.to_s), "Expected #{methods.inspect} to include #{method.to_s.inspect}" @@ -80,4 +94,4 @@ class ConfigurableActiveSupport < ActiveSupport::TestCase methods = object.public_methods.map(&:to_s) assert !methods.include?(method.to_s), "Expected #{methods.inspect} to not include #{method.to_s.inspect}" end -end +end
\ No newline at end of file |