summaryrefslogtreecommitdiff
path: root/spec/hashie/extensions/ignore_undeclared_spec.rb
diff options
context:
space:
mode:
authorRainer Sai <rainersai@gmail.com>2014-05-19 10:56:34 -0400
committerdblock <dblock@dblock.org>2014-05-19 10:56:34 -0400
commitee399a4b7ae0f6cb2ebf98a1e0cc439a81f2f3e0 (patch)
treeafbed00cd5fad3e12124a0e32639eb7df11f3d49 /spec/hashie/extensions/ignore_undeclared_spec.rb
parenta0b4267c537a274089dd080cb732e615ba009560 (diff)
downloadhashie-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.rb12
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