summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorMarc A. Paradise <marc.paradise@gmail.com>2019-06-06 15:24:49 -0400
committerMarc A. Paradise <marc.paradise@gmail.com>2019-06-06 15:31:10 -0400
commit840b5a627d708cef7065602a581547ac07acd64e (patch)
tree1bb050fc0c7fa15f61c42ee932e92b799c39f0d7 /spec
parent145ba5f6cdccbb0775d5a65885b80705bc9fa87a (diff)
downloadmixlib-cli-840b5a627d708cef7065602a581547ac07acd64e.tar.gz
Code review updates for deprecated_optionMIXLIB-CLI-63/deprecated-option-support
Signed-off-by: Marc A. Paradise <marc.paradise@gmail.com>
Diffstat (limited to 'spec')
-rw-r--r--spec/mixlib/cli/formatter_spec.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/mixlib/cli/formatter_spec.rb b/spec/mixlib/cli/formatter_spec.rb
new file mode 100644
index 0000000..5500528
--- /dev/null
+++ b/spec/mixlib/cli/formatter_spec.rb
@@ -0,0 +1,43 @@
+
+require "mixlib/cli/formatter"
+
+describe Mixlib::CLI::Formatter do
+ Formatter = Mixlib::CLI::Formatter
+ context "combined_option_display_name" do
+ it "converts --option with short -o to '-s/--option'" do
+ expect(Formatter.combined_option_display_name("-o", "--option")).to eql "-o/--option"
+ end
+
+ it "converts --option with no short to '--option'" do
+ expect(Formatter.combined_option_display_name(nil, "--option")).to eql "--option"
+ end
+ it "converts short -o with no long option to '-o'" do
+ expect(Formatter.combined_option_display_name("-o", nil)).to eql"-o"
+ end
+
+ it "converts options the same way even with an argument present" do
+ expect(Formatter.combined_option_display_name("-o arg1", "--option arg1")).to eql "-o/--option"
+ end
+
+ it "converts options to a blank string if neither short nor long are present" do
+ expect(Formatter.combined_option_display_name(nil, nil)).to eql ""
+ end
+ end
+
+ context "friendly_opt_list" do
+ it "for a single item it quotes it and returns it as a string" do
+ expect(Formatter.friendly_opt_list(%w{hello})).to eql "'hello'"
+ end
+ it "for two items returns ..." do
+ expect(Formatter.friendly_opt_list(%w{hello world})).to eql "'hello' or 'world'"
+ end
+ it "for three items returns..." do
+ expect(Formatter.friendly_opt_list(%w{hello green world})).to eql "'hello', 'green', or 'world'"
+ end
+ it "for more than three items creates a list in the same was as three items" do
+ expect(Formatter.friendly_opt_list(%w{hello green world good morning})).to eql "'hello', 'green', 'world', 'good', or 'morning'"
+ end
+
+ end
+
+end