summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/mixlib/cli_spec.rb18
1 files changed, 13 insertions, 5 deletions
diff --git a/spec/mixlib/cli_spec.rb b/spec/mixlib/cli_spec.rb
index 3adda52..4088f20 100644
--- a/spec/mixlib/cli_spec.rb
+++ b/spec/mixlib/cli_spec.rb
@@ -224,17 +224,25 @@ describe Mixlib::CLI do
expect(@cli.config[:inclusion]).to eql("one")
end
- it "changes description if :in key is specified" do
- TestCLI.option(:inclusion, short: "-i val", in: %w{one two}, description: "desc", required: false)
+ it "changes description if :in key is specified with a single value" do
+ TestCLI.option(:inclusion, short: "-i val", in: %w{one}, description: "desc", required: false)
@cli = TestCLI.new
@cli.parse_options(["-i", "one"])
- expect(@cli.options[:inclusion][:description]).to eql("desc (valid options: 'one' and 'two')")
+ expect(@cli.options[:inclusion][:description]).to eql("desc (valid options: 'one')")
end
- it "Raises SystemExit when the provided value is not a member of the :in array" do
+ it "changes description if :in key is specified with 2 values" do
TestCLI.option(:inclusion, short: "-i val", in: %w{one two}, description: "desc", required: false)
@cli = TestCLI.new
- expect(lambda { @cli.parse_options(["-i", "three"]) }).to raise_error(SystemExit)
+ @cli.parse_options(["-i", "one"])
+ expect(@cli.options[:inclusion][:description]).to eql("desc (valid options: 'one' or 'two')")
+ end
+
+ it "changes description if :in key is specified with 3 values" do
+ TestCLI.option(:inclusion, short: "-i val", in: %w{one two three}, description: "desc", required: false)
+ @cli = TestCLI.new
+ @cli.parse_options(["-i", "one"])
+ expect(@cli.options[:inclusion][:description]).to eql("desc (valid options: 'one', 'two', or 'three')")
end
it "doesn't exit if a required option is specified" do