summaryrefslogtreecommitdiff
path: root/spec/hashie
diff options
context:
space:
mode:
Diffstat (limited to 'spec/hashie')
-rw-r--r--spec/hashie/dash_spec.rb23
-rw-r--r--spec/hashie/extensions/method_access_spec.rb10
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