cli_parser: Output help text on invalid option passed

This commit is contained in:
Gautham Goli 2019-01-12 18:52:07 +05:30
parent 4f17e2384a
commit 9c7fe3dcb9
No known key found for this signature in database
GPG Key ID: 6A9ABBC284468364
2 changed files with 10 additions and 1 deletions

View File

@ -123,7 +123,12 @@ module Homebrew
end
def parse(cmdline_args = ARGV)
remaining_args = @parser.parse(cmdline_args)
begin
remaining_args = @parser.parse(cmdline_args)
rescue OptionParser::InvalidOption => e
puts generate_help_text
raise e
end
check_constraint_violations
Homebrew.args[:remaining] = remaining_args
Homebrew.args.freeze

View File

@ -42,6 +42,10 @@ describe Homebrew::CLI::Parser do
expect { parser.parse(["--random"]) }.to raise_error(OptionParser::InvalidOption, /--random/)
end
it "outputs help text on failure" do
expect { parser.parse(["--random"]) }.to raise_error(OptionParser::InvalidOption, /Usage: brew/)
end
it "maps environment var to an option" do
parser.parse([])
expect(Homebrew.args.pry?).to be true