summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Gama <hey@vito.io>2023-02-15 11:42:36 -0300
committerVictor Gama <hey@vito.io>2023-02-15 11:43:06 -0300
commitbecc0305239c2885affb1f57419afac3e5418a88 (patch)
tree8f36d5b4c65685653e0c8ef3c344d5fe75564fd6
parent556f88322951b4a64c7bdf6f68f3e0a970940fb7 (diff)
downloadslop-becc0305239c2885affb1f57419afac3e5418a88.tar.gz
Augment tests for validated types
-rw-r--r--test/error_test.rb4
-rw-r--r--test/types_test.rb26
2 files changed, 24 insertions, 6 deletions
diff --git a/test/error_test.rb b/test/error_test.rb
index 341fa75..8ea9069 100644
--- a/test/error_test.rb
+++ b/test/error_test.rb
@@ -72,8 +72,8 @@ describe Slop::InvalidOptionValue do
end
it "does not raise when errors are suppressed" do
- opts = Slop::Options.new(validate_types: true, suppress_errors: true)
- opts.integer "-n", "--number", default: 10
+ opts = Slop::Options.new(suppress_errors: true)
+ opts.integer "-n", "--number", default: 10, validate_type: true
r = opts.parse %w(-n foo)
assert_equal(10, r[:n])
end
diff --git a/test/types_test.rb b/test/types_test.rb
index ea2ba8d..c6f0864 100644
--- a/test/types_test.rb
+++ b/test/types_test.rb
@@ -31,10 +31,10 @@ end
describe Slop::BoolOption do
before do
@options = Slop::Options.new
- @verbose = @options.bool "--verbose"
+ @verbose = @options.bool "--verbose", validate_type: true
@quiet = @options.bool "--quiet"
@inversed = @options.bool "--inversed", default: true
- @explicit = @options.bool "--explicit"
+ @explicit = @options.bool "--explicit", validate_type: true
@bloc = @options.bool("--bloc"){|val| (@bloc_val ||= []) << val}
@result = @options.parse %w(--verbose --no-inversed
--bloc --no-bloc
@@ -60,13 +60,19 @@ describe Slop::BoolOption do
it "returns false when explicitly false" do
assert_equal false, @result[:explicit]
end
+
+ it "raises with invalid types" do
+ assert_raises(Slop::InvalidOptionValue) do
+ @result.parser.parse %w(--verbose foo)
+ end
+ end
end
describe Slop::IntegerOption do
before do
@options = Slop::Options.new
@age = @options.integer "--age"
- @minus = @options.integer "--minus"
+ @minus = @options.integer "--minus", validate_type: true
@plus = @options.integer "--plus"
@result = @options.parse %w(--age 20 --minus -10 --plus +30)
end
@@ -81,6 +87,12 @@ describe Slop::IntegerOption do
@result.parser.parse %w(--age hello)
assert_nil @result[:age]
end
+
+ it "raises with invalid types" do
+ assert_raises(Slop::InvalidOptionValue) do
+ @result.parser.parse %w(--minus foo)
+ end
+ end
end
describe Slop::FloatOption do
@@ -88,7 +100,7 @@ describe Slop::FloatOption do
@options = Slop::Options.new
@apr = @options.float "--apr"
@apr_value = 2.9
- @minus = @options.float "--minus"
+ @minus = @options.float "--minus", validate_type: true
@plus = @options.float "--plus"
@scientific_notation = @options.float "--scientific-notation"
@scientific_notation_value = 4e21
@@ -125,6 +137,12 @@ describe Slop::FloatOption do
@result.parser.parse %w(--apr hello)
assert_nil @result[:apr]
end
+
+ it "raises with invalid types" do
+ assert_raises(Slop::InvalidOptionValue) do
+ @result.parser.parse %w(--minus foo)
+ end
+ end
end
describe Slop::ArrayOption do