Move brew cask --version into separate file.
This commit is contained in:
parent
ef02414888
commit
b24dc2268a
@ -19,6 +19,7 @@ require "hbc/cli/reinstall"
|
||||
require "hbc/cli/search"
|
||||
require "hbc/cli/style"
|
||||
require "hbc/cli/uninstall"
|
||||
require "hbc/cli/--version"
|
||||
require "hbc/cli/zap"
|
||||
|
||||
require "hbc/cli/internal_use_base"
|
||||
@ -116,7 +117,7 @@ module Hbc
|
||||
elsif command.to_s.include?("/") && require?(command.to_s)
|
||||
# external command as Ruby library with literal path, useful
|
||||
# for development and troubleshooting
|
||||
sym = Pathname.new(command.to_s).basename(".rb").to_s.capitalize
|
||||
sym = File.basename(command.to_s, ".rb").capitalize
|
||||
klass = begin
|
||||
const_get(sym)
|
||||
rescue NameError
|
||||
@ -247,16 +248,14 @@ module Hbc
|
||||
@attempted_verb = attempted_verb
|
||||
end
|
||||
|
||||
def run(*args)
|
||||
if args.include?("--version") || @attempted_verb == "--version"
|
||||
puts Hbc.full_version
|
||||
else
|
||||
def run(*_args)
|
||||
purpose
|
||||
usage
|
||||
unless @attempted_verb.to_s.strip.empty? || @attempted_verb == "help"
|
||||
raise CaskError, "Unknown command: #{@attempted_verb}"
|
||||
end
|
||||
end
|
||||
|
||||
return if @attempted_verb.to_s.strip.empty?
|
||||
return if @attempted_verb == "help"
|
||||
|
||||
raise ArgumentError, "Unknown command: #{@attempted_verb}"
|
||||
end
|
||||
|
||||
def purpose
|
||||
|
||||
18
Library/Homebrew/cask/lib/hbc/cli/--version.rb
Normal file
18
Library/Homebrew/cask/lib/hbc/cli/--version.rb
Normal file
@ -0,0 +1,18 @@
|
||||
module Hbc
|
||||
class CLI
|
||||
class Version < Base
|
||||
def self.command_name
|
||||
"--#{super}"
|
||||
end
|
||||
|
||||
def self.run(*args)
|
||||
raise ArgumentError, "#{command_name} does not take arguments." unless args.empty?
|
||||
puts Hbc.full_version
|
||||
end
|
||||
|
||||
def self.help
|
||||
"displays the Homebrew-Cask version"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
13
Library/Homebrew/test/cask/cli/--version_spec.rb
Normal file
13
Library/Homebrew/test/cask/cli/--version_spec.rb
Normal file
@ -0,0 +1,13 @@
|
||||
describe Hbc::CLI::Version, :cask do
|
||||
describe "::run" do
|
||||
it "outputs the current Hombrew-Cask version" do
|
||||
expect { described_class.run }
|
||||
.to output(/\AHomebrew-Cask.*\d+\.\d+\.\d+/).to_stdout
|
||||
.and not_to_output.to_stderr
|
||||
end
|
||||
|
||||
it "does not support arguments" do
|
||||
expect { described_class.run(:foo, :bar) }.to raise_error(ArgumentError)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -1,9 +0,0 @@
|
||||
describe "brew cask --version", :cask do
|
||||
it "respects the --version argument" do
|
||||
expect {
|
||||
expect {
|
||||
Hbc::CLI::NullCommand.new("--version").run
|
||||
}.not_to output.to_stderr
|
||||
}.to output(Hbc.full_version).to_stdout
|
||||
end
|
||||
end
|
||||
@ -27,8 +27,10 @@ describe Hbc::CLI, :cask do
|
||||
end
|
||||
|
||||
it "passes `--version` along to the subcommand" do
|
||||
expect(described_class).to receive(:run_command).with(noop_command, "--version")
|
||||
described_class.process(%w[noop --version])
|
||||
version_command = double("CLI::Version")
|
||||
allow(described_class).to receive(:lookup_command).with("--version").and_return(version_command)
|
||||
expect(described_class).to receive(:run_command).with(version_command)
|
||||
described_class.process(["--version"])
|
||||
end
|
||||
|
||||
it "prints help output when subcommand receives `--help` flag" do
|
||||
|
||||
@ -112,4 +112,5 @@ RSpec.configure do |config|
|
||||
end
|
||||
end
|
||||
|
||||
RSpec::Matchers.define_negated_matcher :not_to_output, :output
|
||||
RSpec::Matchers.alias_matcher :have_failed, :be_failed
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
require "open3"
|
||||
|
||||
RSpec::Matchers.define_negated_matcher :not_to_output, :output
|
||||
RSpec::Matchers.define_negated_matcher :be_a_failure, :be_a_success
|
||||
|
||||
RSpec.shared_context "integration test" do
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user