diff options
Diffstat (limited to 'spec/hashie')
-rw-r--r-- | spec/hashie/dash_spec.rb | 23 | ||||
-rw-r--r-- | spec/hashie/extensions/method_access_spec.rb | 10 |
2 files changed, 30 insertions, 3 deletions
diff --git a/spec/hashie/dash_spec.rb b/spec/hashie/dash_spec.rb index 1de533f..453d62f 100644 --- a/spec/hashie/dash_spec.rb +++ b/spec/hashie/dash_spec.rb @@ -511,3 +511,26 @@ context 'Dynamic Dash Class' do expect(my_property).to eq(my_orig) end end + +context 'with method access' do + class DashWithMethodAccess < Hashie::Dash + include Hashie::Extensions::IndifferentAccess + include Hashie::Extensions::MethodQuery + + property :test + end + + subject(:dash) { DashWithMethodAccess.new(test: 'value') } + + describe '#test' do + subject { dash.test } + + it { is_expected.to eq('value') } + end + + describe '#test?' do + subject { dash.test? } + + it { is_expected.to eq true } + end +end diff --git a/spec/hashie/extensions/method_access_spec.rb b/spec/hashie/extensions/method_access_spec.rb index b48b4e1..03528e4 100644 --- a/spec/hashie/extensions/method_access_spec.rb +++ b/spec/hashie/extensions/method_access_spec.rb @@ -92,15 +92,19 @@ describe Hashie::Extensions::MethodQuery do subject { QueryHash } it 'is true for non-nil string key values' do - expect(subject.new('abc' => 123)).to be_abc + expect(subject.new('abc' => 123).abc?).to eq true end it 'is true for non-nil symbol key values' do - expect(subject.new(abc: 123)).to be_abc + expect(subject.new(abc: 123).abc?).to eq true + end + + it 'is false for false key values' do + expect(subject.new(abc: false).abc?).to eq false end it 'is false for nil key values' do - expect(subject.new(abc: false)).not_to be_abc + expect(subject.new(abc: nil).abc?).to eq false end it 'raises a NoMethodError for non-set keys' do |