diff options
author | Rainer Sai <rainersai@gmail.com> | 2014-05-19 10:56:34 -0400 |
---|---|---|
committer | dblock <dblock@dblock.org> | 2014-05-19 10:56:34 -0400 |
commit | ee399a4b7ae0f6cb2ebf98a1e0cc439a81f2f3e0 (patch) | |
tree | afbed00cd5fad3e12124a0e32639eb7df11f3d49 /spec/hashie/extensions/ignore_undeclared_spec.rb | |
parent | a0b4267c537a274089dd080cb732e615ba009560 (diff) | |
download | hashie-ee399a4b7ae0f6cb2ebf98a1e0cc439a81f2f3e0.tar.gz |
Allow IgnoreUndeclared and DeepMerge to be used with undeclared properties.
Diffstat (limited to 'spec/hashie/extensions/ignore_undeclared_spec.rb')
-rw-r--r-- | spec/hashie/extensions/ignore_undeclared_spec.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/spec/hashie/extensions/ignore_undeclared_spec.rb b/spec/hashie/extensions/ignore_undeclared_spec.rb index a3dce58..f207aca 100644 --- a/spec/hashie/extensions/ignore_undeclared_spec.rb +++ b/spec/hashie/extensions/ignore_undeclared_spec.rb @@ -21,6 +21,11 @@ describe Hashie::Extensions::IgnoreUndeclared do it 'works with translated properties (with string keys)' do expect(subject.new(provence: 'Ontario').state).to eq('Ontario') end + + it 'requires properties to be declared on assignment' do + hash = subject.new(city: 'Toronto') + expect { hash.country = 'Canada' }.to raise_error(NoMethodError) + end end context 'combined with DeepMerge' do @@ -30,17 +35,12 @@ describe Hashie::Extensions::IgnoreUndeclared do property :some_key end - it 'requires properties to be declared on assignment' do - hash = ForgivingTrashWithMerge.new(some_ignored_key: 17, some_key: 12) - expect { hash.deep_merge(some_other_key: 55) }.to raise_error(NoMethodError) - end - it 'deep merges' do class ForgivingTrashWithMergeAndProperty < ForgivingTrashWithMerge property :some_other_key end hash = ForgivingTrashWithMergeAndProperty.new(some_ignored_key: 17, some_key: 12) - expect(hash.deep_merge(some_other_key: 55)).to eq(some_key: 12, some_other_key: 55) + expect(hash.deep_merge(some_other_key: 55, some_ignored_key: 18)).to eq(some_key: 12, some_other_key: 55) end end end |