diff options
author | Giovanni Benussi <giovanni.benussi@usach.cl> | 2018-06-19 09:51:21 -0400 |
---|---|---|
committer | Giovanni Benussi <giovanni.benussi@usach.cl> | 2018-06-27 11:18:38 -0400 |
commit | 0b6d52e1f2f045f9678ac929c1c942cc6f356f45 (patch) | |
tree | 44ef04d2dcb962dda2014f670e8bc044767a0bc2 /test/result_test.rb | |
parent | 50ac7fb6be8d2e32ea3b62c801201a9b570c995b (diff) | |
download | slop-0b6d52e1f2f045f9678ac929c1c942cc6f356f45.tar.gz |
add Slop::Result#fetch
use Slop::Result#clean_key in Slop::Result#option
fix typo in Slop::Result#[] and Slop::Result#fetch descriptions
handle case when Slop::Result#fetch tries to fetch an option that is not provided and does not have a default value
raise Slop::UnknownOption when Slop::Result#fetch tries to fetch an unexisting key
set Slop::Result#clean_key method as private
remove redundant Slop::Result#fetch tests
update description of Slop::Result#fetch test when trying to access an unexisting option
update error message when an option is not present on Slop::Result#fetch
description of Slop::Result#fetch
update expected error message on test for Slop::Result#fetch when an option is not present
Diffstat (limited to 'test/result_test.rb')
-rw-r--r-- | test/result_test.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/result_test.rb b/test/result_test.rb index 322daa1..30e4934 100644 --- a/test/result_test.rb +++ b/test/result_test.rb @@ -62,6 +62,31 @@ describe Slop::Result do end end + describe "#fetch" do + it "returns an options value" do + assert_equal "lee", @result.fetch("--name") + end + + it "raises Slop::UnknownOption when an option does not exists" do + e = assert_raises(Slop::UnknownOption) { @result.fetch("--unexisting") } + assert_equal "option not found: 'unexisting'", e.message + end + + it "returns the default value of an option when a value is not provided" do + @options.string("--foo", default: "bar") + @result.parser.parse %w(--foo) + + assert_equal 'bar', @result.fetch('foo') + end + + it "returns nil when an option is not provided and it does not have a default value" do + @options.string("--hello") + @result.parser.parse %w() + + assert_equal nil, @result.fetch('hello') + end + end + describe "#[]=" do it "sets an options value" do assert_equal "lee", @result["name"] |