Fix style violations under newer RuboCop

This commit is contained in:
Bo Anderson 2023-12-14 02:52:30 +00:00
parent 2e9d7fbcf8
commit 5692c8ecbf
No known key found for this signature in database
GPG Key ID: 3DB94E204E137D65
55 changed files with 205 additions and 233 deletions

View File

@ -253,6 +253,8 @@ RSpec/DescribeClass:
Enabled: false
RSpec/FilePath:
Enabled: false
# RSpec/SpecFilePathFormat:
# Enabled: false
RSpec/StubbedMock:
Enabled: false
RSpec/SubjectStub:
@ -381,6 +383,8 @@ Style/InvertibleUnlessCondition:
:==: :!=
# Unset this (prefer `unless a.zero?` over `if a.nonzero?`)
:zero?:
# Don't require non-standard `exclude?` (for now at least) - it's not available in every file
# :include?:
# would rather freeze too much than too little
Style/MutableConstant:
@ -436,6 +440,10 @@ Style/StringLiteralsInInterpolation:
Style/StringMethods:
Enabled: true
# Treating this the same as Style/MethodCallWithArgsParentheses
# Style/SuperWithArgsParentheses:
# Enabled: false
# An array of symbols is more readable than a symbol array
# and also allows for easier grepping.
Style/SymbolArray:

View File

@ -28,7 +28,7 @@ module Cask
end
def self.dirmethod
@dirmethod ||= "#{dsl_key}dir".to_sym
@dirmethod ||= :"#{dsl_key}dir"
end
sig { abstract.returns(String) }

View File

@ -25,7 +25,7 @@ module Cask
# Return all tokens for installed casks.
sig { returns(T::Array[String]) }
def self.tokens
paths.map(&:basename).map(&:to_s)
paths.map { |path| path.basename.to_s }
end
sig { returns(T::Boolean) }

View File

@ -13,7 +13,7 @@ module Cask
"_" => :underscores,
}.freeze
DIVIDER_REGEX = /(#{DIVIDERS.keys.map { |v| Regexp.quote(v) }.join('|')})/.freeze
DIVIDER_REGEX = /(#{DIVIDERS.keys.map { |v| Regexp.quote(v) }.join("|")})/.freeze
MAJOR_MINOR_PATCH_REGEX = /^([^.,:]+)(?:.([^.,:]+)(?:.([^.,:]+))?)?/.freeze

View File

@ -97,8 +97,11 @@ module Homebrew
end
def only_formula_or_cask
return :formula if formula? && !cask?
return :cask if cask? && !formula?
if formula? && !cask?
:formula
elsif cask? && !formula?
:cask
end
end
sig { returns(T::Array[[Symbol, Symbol]]) }
@ -149,7 +152,7 @@ module Homebrew
@cli_args = []
@processed_options.each do |short, long|
option = long || short
switch = "#{option_to_name(option)}?".to_sym
switch = :"#{option_to_name(option)}?"
flag = option_to_name(option).to_sym
if @table[switch] == true || @table[flag] == true
@cli_args << option

View File

@ -178,12 +178,12 @@ module Homebrew
set_constraints(name, depends_on: depends_on)
end
env_value = env?(env)
env_value = value_for_env(env)
set_switch(*names, value: env_value, from: :env) unless env_value.nil?
end
alias switch_option switch
def env?(env)
def value_for_env(env)
return if env.blank?
method_name = :"#{env}?"
@ -193,6 +193,7 @@ module Homebrew
ENV.fetch("HOMEBREW_#{env.upcase}", nil)
end
end
private :value_for_env
def description(text = nil)
return @description if text.blank?
@ -527,7 +528,7 @@ module Homebrew
end
def option_passed?(name)
@args[name.to_sym] || @args["#{name}?".to_sym]
@args[name.to_sym] || @args[:"#{name}?"]
end
def wrap_option_desc(desc)

View File

@ -55,7 +55,7 @@ module Commands
def self.args_method_name(cmd_path)
cmd_path_basename = basename_without_extension(cmd_path)
cmd_method_prefix = method_name(cmd_path_basename)
"#{cmd_method_prefix}_args".to_sym
:"#{cmd_method_prefix}_args"
end
def self.internal_cmd_path(cmd)
@ -217,12 +217,12 @@ module Commands
# skip the comment's initial usage summary lines
comment_lines.slice(2..-1)&.each do |line|
match_data = /^#: (?<desc>\w.*+)$/.match(line)
if match_data
desc = match_data[:desc]
return T.must(desc).split(DESCRIPTION_SPLITTING_PATTERN).first if short
next unless match_data
return desc
end
desc = match_data[:desc]
return T.must(desc).split(DESCRIPTION_SPLITTING_PATTERN).first if short
return desc
end
end
end

View File

@ -46,7 +46,7 @@ module Dependable
end
def prune_from_option?(build)
return if !optional? && !recommended?
return false if !optional? && !recommended?
build.without?(self)
end

View File

@ -260,14 +260,14 @@ module Homebrew
# For switches, we add `|| nil` so that `nil` will be passed
# instead of `false` if they aren't set.
# This way, we can distinguish between "not set" and "set to false".
audit_online: (args.online? || nil),
audit_strict: (args.strict? || nil),
audit_online: args.online? || nil,
audit_strict: args.strict? || nil,
# No need for `|| nil` for `--[no-]signing`
# because boolean switches are already `nil` if not passed
audit_signing: args.signing?,
audit_new_cask: (new_cask || nil),
audit_token_conflicts: (args.token_conflicts? || nil),
audit_new_cask: new_cask || nil,
audit_token_conflicts: args.token_conflicts? || nil,
quarantine: true,
any_named_args: !no_named_args,
only: args.only,

View File

@ -116,7 +116,7 @@ module Homebrew
@put_filenames ||= []
return if @put_filenames.include?(filename)
return false if @put_filenames.include?(filename)
puts Formatter.error(filename.to_s)
@put_filenames << filename

View File

@ -64,8 +64,8 @@ module Homebrew
contribution_types = [:author, :committer, :coauthorship, :review]
users = args.user.presence || GitHub.members_by_team("Homebrew", "maintainers")
users.each do |username, _|
users = args.user.presence || GitHub.members_by_team("Homebrew", "maintainers").keys
users.each do |username|
# TODO: Using the GitHub username to scan the `git log` undercounts some
# contributions as people might not always have configured their Git
# committer details to match the ones on GitHub.

View File

@ -24,8 +24,7 @@ module Homebrew
formula_paths = args.named.to_paths(only: :formula).select(&:exist?)
if formula_paths.blank? && args.named
.to_paths(only: :cask)
.select(&:exist?)
.present?
.any?(&:exist?)
odie "Found casks but did not find formulae!"
end
formula_paths.each(&method(:puts))

View File

@ -313,7 +313,7 @@ module Homebrew
end
def self.formulae_need_bottles?(tap, original_commit, labels, args:)
return if args.dry_run?
return false if args.dry_run?
return false if labels.include?("CI-syntax-only") || labels.include?("CI-no-bottles")

View File

@ -67,8 +67,11 @@ module OnSystem
base.define_method(:on_arch_conditional) do |arm: nil, intel: nil|
@on_system_blocks_exist = true
return arm if OnSystem.arch_condition_met? :arm
return intel if OnSystem.arch_condition_met? :intel
if OnSystem.arch_condition_met? :arm
arm
elsif OnSystem.arch_condition_met? :intel
intel
end
end
end
@ -110,8 +113,11 @@ module OnSystem
base.define_method(:on_system_conditional) do |macos: nil, linux: nil|
@on_system_blocks_exist = true
return macos if OnSystem.os_condition_met?(:macos) && macos.present?
return linux if OnSystem.os_condition_met?(:linux) && linux.present?
if OnSystem.os_condition_met?(:macos) && macos.present?
macos
elsif OnSystem.os_condition_met?(:linux) && linux.present?
linux
end
end
end

View File

@ -1954,7 +1954,7 @@ class Formula
# @private
sig { returns(T::Array[String]) }
def self.installed_formula_names
racks.map(&:basename).map(&:to_s)
racks.map { |rack| rack.basename.to_s }
end
# An array of all installed {Formula}

View File

@ -875,7 +875,7 @@ module Homebrew
[formula.bin, formula.sbin].each do |dir|
next unless dir.exist?
bin_names += dir.children.map(&:basename).map(&:to_s)
bin_names += dir.children.map { |child| child.basename.to_s }
end
shell_commands = ["system", "shell_output", "pipe_output"]
bin_names.each do |name|

View File

@ -30,8 +30,7 @@ class FormulaInstaller
include FormulaCellarChecks
extend Predicable
attr_reader :formula
attr_reader :bottle_tab_runtime_dependencies
attr_reader :formula, :bottle_tab_runtime_dependencies
attr_accessor :options, :link_keg
@ -530,7 +529,7 @@ on_request: installed_on_request?, options: options)
end
def unbottled_dependencies(deps)
deps.map(&:first).map(&:to_formula).reject do |dep_f|
deps.map { |(dep, _options)| dep.to_formula }.reject do |dep_f|
next false unless dep_f.pour_bottle?
dep_f.bottled?
@ -1184,7 +1183,7 @@ on_request: installed_on_request?, options: options)
return if ignore_deps?
# Don't output dependencies if we're explicitly installing them.
deps = compute_dependencies.reject do |dep, _options|
deps = compute_dependencies.reject do |(dep, _options)|
self.class.fetched.include?(dep.to_formula)
end
@ -1194,7 +1193,7 @@ on_request: installed_on_request?, options: options)
"#{deps.map(&:first).map(&Formatter.method(:identifier)).to_sentence}",
truncate: false
deps.each { |dep, _options| fetch_dependency(dep) }
deps.each { |(dep, _options)| fetch_dependency(dep) }
end
sig { returns(T.nilable(Formula)) }
@ -1369,7 +1368,7 @@ on_request: installed_on_request?, options: options)
return if forbidden_licenses.blank?
return if ignore_deps?
compute_dependencies.each do |dep, _|
compute_dependencies.each do |(dep, _options)|
dep_f = dep.to_formula
next unless SPDX.licenses_forbid_installation? dep_f.license, forbidden_licenses

View File

@ -305,12 +305,12 @@ module Homebrew
end
end
def print_dry_run_dependencies(formula, dependencies, &block)
def print_dry_run_dependencies(formula, dependencies)
return if dependencies.empty?
ohai "Would install #{Utils.pluralize("dependenc", dependencies.count, plural: "ies", singular: "y",
include_count: true)} for #{formula.name}:"
formula_names = dependencies.map(&:first).map(&:to_formula).map(&block)
formula_names = dependencies.map { |(dep, _options)| yield dep.to_formula }
puts formula_names.join(" ")
end

View File

@ -46,8 +46,8 @@ module Language
end
def self.reads_brewed_pth_files?(python)
return unless homebrew_site_packages(python).directory?
return unless homebrew_site_packages(python).writable_real?
return false unless homebrew_site_packages(python).directory?
return false unless homebrew_site_packages(python).writable_real?
probe_file = homebrew_site_packages(python)/"homebrew-pth-probe.pth"
begin

View File

@ -1020,7 +1020,6 @@ module Homebrew
end
resource_version_info[:meta][:regex] = regex.inspect if regex.present?
resource_version_info[:meta][:cached] = true if strategy_data[:cached] == true
rescue => e
Homebrew.failed = true
if json

View File

@ -41,12 +41,12 @@ class Locale
scanner = StringScanner.new(string)
if (language = scanner.scan(LANGUAGE_REGEX))
sep = scanner.scan(/-/)
sep = scanner.scan("-")
return if (sep && scanner.eos?) || (sep.nil? && !scanner.eos?)
end
if (script = scanner.scan(SCRIPT_REGEX))
sep = scanner.scan(/-/)
sep = scanner.scan("-")
return if (sep && scanner.eos?) || (sep.nil? && !scanner.eos?)
end

View File

@ -89,7 +89,7 @@ module MachOShim
def dynamically_linked_libraries(except: :none, resolve_variable_references: true)
lcs = macho.dylib_load_commands.reject { |lc| lc.type == except }
names = lcs.map(&:name).map(&:to_s).uniq
names = lcs.map { |lc| lc.name.to_s }.uniq
names.map!(&method(:resolve_variable_name)) if resolve_variable_references
names

View File

@ -155,7 +155,7 @@ module RuboCop
def build_with_dependency_name(node)
match_nodes = build_with_dependency_node(node)
match_nodes = match_nodes.to_a.delete_if(&:nil?)
match_nodes = match_nodes.to_a.compact
match_nodes.map { |n| string_content(n) } unless match_nodes.empty?
end

View File

@ -59,20 +59,22 @@ module RuboCop
end
end
# Returns nil if does not depend on dependency_name.
# Returns if the formula depends on dependency_name.
#
# @param dependency_name dependency's name
def depends_on?(dependency_name, *types)
return if @body.nil?
return false if @body.nil?
types = [:any] if types.empty?
dependency_nodes = find_every_method_call_by_name(@body, :depends_on)
idx = dependency_nodes.index do |n|
types.any? { |type| depends_on_name_type?(n, dependency_name, type) }
end
return if idx.nil?
return false if idx.nil?
@offensive_node = dependency_nodes[idx]
true
end
# Returns true if given dependency name and dependency type exist in given dependency method call node.

View File

@ -42,6 +42,6 @@ unless ENV["HOMEBREW_SORBET_RUNTIME"]
end
# For any cases the above doesn't handle: make sure we don't let TypeError slip through.
T::Configuration.call_validation_error_handler = ->(signature, opts) do end
T::Configuration.inline_type_error_handler = ->(error, opts) do end
T::Configuration.call_validation_error_handler = ->(signature, opts) {}
T::Configuration.inline_type_error_handler = ->(error, opts) {}
end

View File

@ -23,8 +23,7 @@ describe CacheStoreDatabase do
it "sets the value in the `CacheStoreDatabase`" do
allow(File).to receive(:write)
allow(sample_db).to receive(:created?).and_return(true)
allow(sample_db).to receive(:db).and_return(db)
allow(sample_db).to receive_messages(created?: true, db: db)
expect(db).to receive(:has_key?).with(:foo).and_return(false)
expect(db).not_to have_key(:foo)
@ -37,9 +36,8 @@ describe CacheStoreDatabase do
let(:db) { instance_double(Hash, "db", :[] => "bar") }
it "gets value in the `CacheStoreDatabase` corresponding to the key" do
allow(sample_db).to receive(:created?).and_return(true)
expect(db).to receive(:has_key?).with(:foo).and_return(true)
allow(sample_db).to receive(:db).and_return(db)
allow(sample_db).to receive_messages(created?: true, db: db)
expect(db).to have_key(:foo)
expect(sample_db.get(:foo)).to eq("bar")
end
@ -49,8 +47,7 @@ describe CacheStoreDatabase do
let(:db) { instance_double(Hash, "db", :[] => nil) }
before do
allow(sample_db).to receive(:created?).and_return(false)
allow(sample_db).to receive(:db).and_return(db)
allow(sample_db).to receive_messages(created?: false, db: db)
end
it "does not get value in the `CacheStoreDatabase` corresponding to key" do
@ -69,8 +66,7 @@ describe CacheStoreDatabase do
let(:db) { instance_double(Hash, "db", :[] => { foo: "bar" }) }
before do
allow(sample_db).to receive(:created?).and_return(true)
allow(sample_db).to receive(:db).and_return(db)
allow(sample_db).to receive_messages(created?: true, db: db)
end
it "deletes value in the `CacheStoreDatabase` corresponding to the key" do
@ -83,8 +79,7 @@ describe CacheStoreDatabase do
let(:db) { instance_double(Hash, "db", delete: nil) }
before do
allow(sample_db).to receive(:created?).and_return(false)
allow(sample_db).to receive(:db).and_return(db)
allow(sample_db).to receive_messages(created?: false, db: db)
end
it "does not call `db.delete` if `CacheStoreDatabase.created?` is `false`" do

View File

@ -345,8 +345,7 @@ describe Cask::Artifact::App, :cask do
describe "when the directory is owned by root" do
before do
allow(app.target).to receive(:writable?).and_return false
allow(app.target).to receive(:owned?).and_return false
allow(app.target).to receive_messages(writable?: false, owned?: false)
end
it "reuses the same directory" do

View File

@ -471,8 +471,7 @@ describe Cask::Audit, :cask do
let(:unpack_double) { instance_double(UnpackStrategy::Zip) }
before do
allow(audit).to receive(:download).and_return(download_double)
allow(audit).to receive(:signing?).and_return(true)
allow(audit).to receive_messages(download: download_double, signing?: true)
allow(audit).to receive(:check_https_availability)
end

View File

@ -107,8 +107,8 @@ describe Cask::Cask, :cask do
expectations.each do |installed_version, expected_output|
context "when version #{installed_version.inspect} is installed and the tap version is #{tap_version}" do
it {
allow(cask).to receive(:installed_version).and_return(installed_version)
allow(cask).to receive(:version).and_return(Cask::DSL::Version.new(tap_version))
allow(cask).to receive_messages(installed_version: installed_version,
version: Cask::DSL::Version.new(tap_version))
expect(cask).to receive(:outdated_version).and_call_original
expect(subject).to eq expected_output
}
@ -139,9 +139,9 @@ describe Cask::Cask, :cask do
subject { cask.outdated_version(greedy: greedy) }
it {
allow(cask).to receive(:installed_version).and_return(installed_version)
allow(cask).to receive(:version).and_return(Cask::DSL::Version.new(tap_version))
allow(cask).to receive(:outdated_download_sha?).and_return(outdated_sha)
allow(cask).to receive_messages(installed_version: installed_version,
version: Cask::DSL::Version.new(tap_version),
outdated_download_sha?: outdated_sha)
expect(cask).to receive(:outdated_version).and_call_original
expect(subject).to eq expected_output
}

View File

@ -12,8 +12,7 @@ module Cask
let(:downloaded_path) { Pathname.new("cask.zip") }
before do
allow(downloaded_path).to receive(:file?).and_return(true)
allow(downloaded_path).to receive(:sha256).and_return(computed_sha256)
allow(downloaded_path).to receive_messages(file?: true, sha256: computed_sha256)
end
context "when the expected checksum is :no_check" do

View File

@ -549,7 +549,7 @@ describe Cask::DSL, :cask do
app "App.app"
end
expect(cask.artifacts.map(&:class).map(&:dsl_key)).to eq [
expect(cask.artifacts.map { |artifact| artifact.class.dsl_key }).to eq [
:preflight,
:app,
:binary,

View File

@ -14,16 +14,14 @@ describe Cask::Pkg, :cask do
it "removes files and dirs referenced by the pkg" do
some_files = Array.new(3) { Pathname.new(Tempfile.new("plain_file").path) }
allow(pkg).to receive(:pkgutil_bom_files).and_return(some_files)
some_specials = Array.new(3) { Pathname.new(Tempfile.new("special_file").path) }
allow(pkg).to receive(:pkgutil_bom_specials).and_return(some_specials)
some_dirs = Array.new(3) { mktmpdir }
allow(pkg).to receive(:pkgutil_bom_dirs).and_return(some_dirs)
root_dir = Pathname.new(mktmpdir)
allow(pkg).to receive(:root).and_return(root_dir)
allow(pkg).to receive_messages(pkgutil_bom_files: some_files, pkgutil_bom_specials: some_specials,
pkgutil_bom_dirs: some_dirs, root: root_dir)
allow(pkg).to receive(:forget)
@ -82,10 +80,8 @@ describe Cask::Pkg, :cask do
intact_symlink = fake_dir.join("intact_symlink").tap { |path| path.make_symlink(fake_file) }
broken_symlink = fake_dir.join("broken_symlink").tap { |path| path.make_symlink("im_nota_file") }
allow(pkg).to receive(:pkgutil_bom_specials).and_return([])
allow(pkg).to receive(:pkgutil_bom_files).and_return([])
allow(pkg).to receive(:pkgutil_bom_dirs).and_return([fake_dir])
allow(pkg).to receive(:root).and_return(fake_root)
allow(pkg).to receive_messages(pkgutil_bom_specials: [], pkgutil_bom_files: [], pkgutil_bom_dirs: [fake_dir],
root: fake_root)
allow(pkg).to receive(:forget)
pkg.uninstall
@ -105,10 +101,8 @@ describe Cask::Pkg, :cask do
fake_file = fake_dir.join("ima_unrelated_file").tap { |path| FileUtils.touch(path) }
fake_dir.chmod(0000)
allow(pkg).to receive(:pkgutil_bom_specials).and_return([])
allow(pkg).to receive(:pkgutil_bom_files).and_return([])
allow(pkg).to receive(:pkgutil_bom_dirs).and_return([fake_dir])
allow(pkg).to receive(:root).and_return(fake_root)
allow(pkg).to receive_messages(pkgutil_bom_specials: [], pkgutil_bom_files: [], pkgutil_bom_dirs: [fake_dir],
root: fake_root)
allow(pkg).to receive(:forget)
# This is expected to fail in tests since we don't use `sudo`.

View File

@ -103,8 +103,7 @@ describe Caveats do
context "when service block is defined" do
before do
allow(Utils::Service).to receive(:launchctl?).and_return(true)
allow(Utils::Service).to receive(:systemctl?).and_return(true)
allow(Utils::Service).to receive_messages(launchctl?: true, systemctl?: true)
end
it "prints warning when no service daemon is found" do
@ -304,13 +303,11 @@ describe Caveats do
before do
# don't try to load/fetch gcc/glibc
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
allow_any_instance_of(Pathname).to receive(:children).and_return([Pathname.new("child")])
allow_any_instance_of(Object).to receive(:which).with(any_args).and_return(Pathname.new("shell"))
allow(Utils::Shell).to receive(:preferred).and_return(nil)
allow(Utils::Shell).to receive(:parent).and_return(nil)
allow(Utils::Shell).to receive_messages(preferred: nil, parent: nil)
end
it "gives dir where Bash completions have been installed" do

View File

@ -181,8 +181,8 @@ describe Homebrew::Cleanup do
it "removes the download for the latest version after 30 days" do
download = Cask::Cache.path/"#{cask.token}--#{cask.version}"
allow(download).to receive(:ctime).and_return((DateTime.now - 30).to_time - (60 * 60))
allow(download).to receive(:mtime).and_return((DateTime.now - 30).to_time - (60 * 60))
allow(download).to receive_messages(ctime: (DateTime.now - 30).to_time - (60 * 60),
mtime: (DateTime.now - 30).to_time - (60 * 60))
cleanup.cleanup_cask(cask)

View File

@ -235,16 +235,14 @@ describe Homebrew::CLI::Parser do
end
it "prioritizes cli arguments over env vars when they conflict" do
allow(Homebrew::EnvConfig).to receive(:switch_a?).and_return(true)
allow(Homebrew::EnvConfig).to receive(:switch_b?).and_return(false)
allow(Homebrew::EnvConfig).to receive_messages(switch_a?: true, switch_b?: false)
args = parser.parse(["--switch-b"])
expect(args.switch_a?).to be false
expect(args).to be_switch_b
end
it "raises an exception on constraint violation when both are env vars" do
allow(Homebrew::EnvConfig).to receive(:switch_a?).and_return(true)
allow(Homebrew::EnvConfig).to receive(:switch_b?).and_return(true)
allow(Homebrew::EnvConfig).to receive_messages(switch_a?: true, switch_b?: true)
expect { parser.parse([]) }.to raise_error(Homebrew::CLI::OptionConflictError)
end
end

View File

@ -40,7 +40,7 @@ describe "brew extract" do
.and not_to_output.to_stderr
.and be_a_success
expect(path).to exist
expect(Formulary.factory(path).version).to be == "0.2"
expect(Formulary.factory(path).version).to eq "0.2"
end
it "retrieves the specified version of formula", :integration_test do
@ -50,7 +50,7 @@ describe "brew extract" do
.and not_to_output.to_stderr
.and be_a_success
expect(path).to exist
expect(Formulary.factory(path).version).to be == "0.1"
expect(Formulary.factory(path).version).to eq "0.1"
end
it "retrieves the compatible version of formula", :integration_test do
@ -60,7 +60,7 @@ describe "brew extract" do
.and not_to_output.to_stderr
.and be_a_success
expect(path).to exist
expect(Formulary.factory(path).version).to be == "0.2"
expect(Formulary.factory(path).version).to eq "0.2"
end
end
end

View File

@ -13,7 +13,7 @@ describe Object do
let(:empty_false) do
Class.new(described_class) do
def empty?
nil
false
end
end
end

View File

@ -151,8 +151,7 @@ describe Formula do
before do
# don't try to load/fetch gcc/glibc
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
allow(Formulary).to receive(:load_formula_from_path).with(f2.name, f2.path).and_return(f2)
allow(Formulary).to receive(:factory).with(f2.name).and_return(f2)
@ -798,8 +797,7 @@ describe Formula do
specify "dependencies" do
# don't try to load/fetch gcc/glibc
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
f1 = formula "f1" do
url "f1-1.0"
@ -844,8 +842,7 @@ describe Formula do
tap_loader = double
# don't try to load/fetch gcc/glibc
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
allow(tap_loader).to receive(:get_formula).and_raise(RuntimeError, "tried resolving tap formula")
allow(Formulary).to receive(:loader_for).with("foo/bar/f1", from: nil).and_return(tap_loader)
@ -901,8 +898,7 @@ describe Formula do
specify "requirements" do
# don't try to load/fetch gcc/glibc
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
f1 = formula "f1" do
url "f1-1"

View File

@ -161,8 +161,7 @@ describe Formulary do
allow(described_class).to receive(:loader_for).and_call_original
# don't try to load/fetch gcc/glibc
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
end
let(:installed_formula) { described_class.factory(formula_path) }
@ -375,8 +374,7 @@ describe Formulary do
allow(described_class).to receive(:loader_for).and_return(described_class::FormulaAPILoader.new(formula_name))
# don't try to load/fetch gcc/glibc
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
end
it "returns a Formula when given a name" do

View File

@ -293,8 +293,7 @@ describe GitHubRunnerMatrix do
def get_runner_names(runner_matrix, predicate = :active)
runner_matrix.runners
.select(&predicate)
.map(&:spec)
.map(&:name)
.map { |runner| runner.spec.name }
end
def setup_test_runner_formula(name, dependencies = [], **kwargs)

View File

@ -78,15 +78,13 @@ describe Hardware::CPU do
end
it "returns :arm_firestorm_icestorm on ARM" do
allow(described_class).to receive(:arm?).and_return(true)
allow(described_class).to receive(:intel?).and_return(false)
allow(described_class).to receive_messages(arm?: true, intel?: false)
expect(described_class.family).to eq(:arm_firestorm_icestorm)
end
it "returns :westmere on Intel" do
allow(described_class).to receive(:arm?).and_return(false)
allow(described_class).to receive(:intel?).and_return(true)
allow(described_class).to receive_messages(arm?: false, intel?: true)
expect(described_class.family).to eq(:westmere)
end

View File

@ -20,8 +20,7 @@ describe Language::Java do
before do
allow(Formula).to receive(:[]).and_return(f)
allow(f).to receive(:any_version_installed?).and_return(true)
allow(f).to receive(:any_installed_version).and_return(f.version)
allow(f).to receive_messages(any_version_installed?: true, any_installed_version: f.version)
end
describe "::java_home" do

View File

@ -9,7 +9,7 @@ describe MacOSVersion do
specify "comparison with Symbol" do
expect(version).to be > :high_sierra
expect(version).to be == :mojave
expect(version).to eq :mojave
expect(version).to be === :mojave # rubocop:disable Style/CaseEquality
expect(version).to be < :catalina
end
@ -21,14 +21,14 @@ describe MacOSVersion do
specify "comparison with String" do
expect(version).to be > "10.3"
expect(version).to be == "10.14"
expect(version).to eq "10.14"
expect(version).to be === "10.14" # rubocop:disable Style/CaseEquality
expect(version).to be < "10.15"
end
specify "comparison with Version" do
expect(version).to be > Version.new("10.3")
expect(version).to be == Version.new("10.14")
expect(version).to eq Version.new("10.14")
expect(version).to be === Version.new("10.14") # rubocop:disable Style/CaseEquality
expect(version).to be < Version.new("10.15")
end

View File

@ -9,10 +9,8 @@ describe Homebrew::Diagnostic::Checks do
ENV.delete("HOMEBREW_DEVELOPER")
macos_version = MacOSVersion.new("10.14")
allow(OS::Mac).to receive(:version).and_return(macos_version)
allow(OS::Mac).to receive(:full_version).and_return(macos_version)
allow(OS::Mac.version).to receive(:outdated_release?).and_return(false)
allow(OS::Mac.version).to receive(:prerelease?).and_return(true)
allow(OS::Mac).to receive_messages(version: macos_version, full_version: macos_version)
allow(OS::Mac.version).to receive_messages(outdated_release?: false, prerelease?: true)
expect(checks.check_for_unsupported_macos)
.to match("We do not provide support for this pre-release version.")
@ -20,11 +18,8 @@ describe Homebrew::Diagnostic::Checks do
specify "#check_if_xcode_needs_clt_installed" do
macos_version = MacOSVersion.new("10.11")
allow(OS::Mac).to receive(:version).and_return(macos_version)
allow(OS::Mac).to receive(:full_version).and_return(macos_version)
allow(OS::Mac::Xcode).to receive(:installed?).and_return(true)
allow(OS::Mac::Xcode).to receive(:version).and_return("8.0")
allow(OS::Mac::Xcode).to receive(:without_clt?).and_return(true)
allow(OS::Mac).to receive_messages(version: macos_version, full_version: macos_version)
allow(OS::Mac::Xcode).to receive_messages(installed?: true, version: "8.0", without_clt?: true)
expect(checks.check_if_xcode_needs_clt_installed)
.to match("Xcode alone is not sufficient on El Capitan")
@ -41,32 +36,29 @@ describe Homebrew::Diagnostic::Checks do
end
it "doesn't trigger when SDK root is not needed" do
allow(OS::Mac).to receive(:sdk_root_needed?).and_return(false)
allow(OS::Mac).to receive(:sdk).and_return(nil)
allow(OS::Mac).to receive_messages(sdk_root_needed?: false, sdk: nil)
expect(checks.check_if_supported_sdk_available).to be_nil
end
it "doesn't trigger when a valid SDK is present" do
allow(OS::Mac).to receive(:sdk_root_needed?).and_return(true)
allow(OS::Mac).to receive(:sdk).and_return(OS::Mac::SDK.new(macos_version, "/some/path/MacOSX.sdk", :clt))
allow(OS::Mac).to receive_messages(sdk_root_needed?: true,
sdk: OS::Mac::SDK.new(
macos_version, "/some/path/MacOSX.sdk", :clt
))
expect(checks.check_if_supported_sdk_available).to be_nil
end
it "triggers when a valid SDK is not present on CLT systems" do
allow(OS::Mac).to receive(:sdk_root_needed?).and_return(true)
allow(OS::Mac).to receive(:sdk).and_return(nil)
allow(OS::Mac).to receive(:sdk_locator).and_return(OS::Mac::CLT.sdk_locator)
allow(OS::Mac).to receive_messages(sdk_root_needed?: true, sdk: nil, sdk_locator: OS::Mac::CLT.sdk_locator)
expect(checks.check_if_supported_sdk_available)
.to include("Your Command Line Tools (CLT) does not support macOS #{macos_version}")
end
it "triggers when a valid SDK is not present on Xcode systems" do
allow(OS::Mac).to receive(:sdk_root_needed?).and_return(true)
allow(OS::Mac).to receive(:sdk).and_return(nil)
allow(OS::Mac).to receive(:sdk_locator).and_return(OS::Mac::Xcode.sdk_locator)
allow(OS::Mac).to receive_messages(sdk_root_needed?: true, sdk: nil, sdk_locator: OS::Mac::Xcode.sdk_locator)
expect(checks.check_if_supported_sdk_available)
.to include("Your Xcode does not support macOS #{macos_version}")

View File

@ -26,34 +26,28 @@ describe OS::Mac do
it "does not call sdk_path on Xcode-and-CLT systems with system headers" do
allow(OS::Mac::Xcode).to receive(:installed?).and_return(true)
allow(OS::Mac::CLT).to receive(:installed?).and_return(true)
allow(OS::Mac::CLT).to receive(:separate_header_package?).and_return(false)
allow(OS::Mac::CLT).to receive_messages(installed?: true, separate_header_package?: false)
expect(described_class).not_to receive(:sdk_path)
described_class.sdk_path_if_needed
end
it "does not call sdk_path on CLT-only systems with no CLT SDK" do
allow(OS::Mac::Xcode).to receive(:installed?).and_return(false)
allow(OS::Mac::CLT).to receive(:installed?).and_return(true)
allow(OS::Mac::CLT).to receive(:provides_sdk?).and_return(false)
allow(OS::Mac::CLT).to receive_messages(installed?: true, provides_sdk?: false)
expect(described_class).not_to receive(:sdk_path)
described_class.sdk_path_if_needed
end
it "does not call sdk_path on CLT-only systems with a CLT SDK if the system provides headers" do
allow(OS::Mac::Xcode).to receive(:installed?).and_return(false)
allow(OS::Mac::CLT).to receive(:installed?).and_return(true)
allow(OS::Mac::CLT).to receive(:provides_sdk?).and_return(true)
allow(OS::Mac::CLT).to receive(:separate_header_package?).and_return(false)
allow(OS::Mac::CLT).to receive_messages(installed?: true, provides_sdk?: true, separate_header_package?: false)
expect(described_class).not_to receive(:sdk_path)
described_class.sdk_path_if_needed
end
it "calls sdk_path on CLT-only systems with a CLT SDK if the system does not provide headers" do
allow(OS::Mac::Xcode).to receive(:installed?).and_return(false)
allow(OS::Mac::CLT).to receive(:installed?).and_return(true)
allow(OS::Mac::CLT).to receive(:provides_sdk?).and_return(true)
allow(OS::Mac::CLT).to receive(:separate_header_package?).and_return(true)
allow(OS::Mac::CLT).to receive_messages(installed?: true, provides_sdk?: true, separate_header_package?: true)
expect(described_class).to receive(:sdk_path)
described_class.sdk_path_if_needed
end

View File

@ -15,7 +15,7 @@ describe PkgVersion do
end
specify "#==" do
expect(described_class.parse("1.0_0")).to be == described_class.parse("1.0")
expect(described_class.parse("1.0_0")).to eq described_class.parse("1.0")
version_to_compare = described_class.parse("1.0_1")
expect(version_to_compare == described_class.parse("1.0_1")).to be true
expect(version_to_compare == described_class.parse("1.0_2")).to be false
@ -89,43 +89,43 @@ describe PkgVersion do
describe "#version" do
it "returns package version" do
expect(described_class.parse("1.2.3_4").version).to be == Version.new("1.2.3")
expect(described_class.parse("1.2.3_4").version).to eq Version.new("1.2.3")
end
end
describe "#revision" do
it "returns package revision" do
expect(described_class.parse("1.2.3_4").revision).to be == 4
expect(described_class.parse("1.2.3_4").revision).to eq 4
end
end
describe "#major" do
it "returns major version token" do
expect(described_class.parse("1.2.3_4").major).to be == Version::Token.create("1")
expect(described_class.parse("1.2.3_4").major).to eq Version::Token.create("1")
end
end
describe "#minor" do
it "returns minor version token" do
expect(described_class.parse("1.2.3_4").minor).to be == Version::Token.create("2")
expect(described_class.parse("1.2.3_4").minor).to eq Version::Token.create("2")
end
end
describe "#patch" do
it "returns patch version token" do
expect(described_class.parse("1.2.3_4").patch).to be == Version::Token.create("3")
expect(described_class.parse("1.2.3_4").patch).to eq Version::Token.create("3")
end
end
describe "#major_minor" do
it "returns major.minor version" do
expect(described_class.parse("1.2.3_4").major_minor).to be == Version.new("1.2")
expect(described_class.parse("1.2.3_4").major_minor).to eq Version.new("1.2")
end
end
describe "#major_minor_patch" do
it "returns major.minor.patch version" do
expect(described_class.parse("1.2.3_4").major_minor_patch).to be == Version.new("1.2.3")
expect(described_class.parse("1.2.3_4").major_minor_patch).to eq Version.new("1.2.3")
end
end
end

View File

@ -243,8 +243,7 @@ describe Tab do
stub_const("HOMEBREW_VERSION", "1.1.7")
# don't try to load gcc/glibc
allow(DevelopmentTools).to receive(:needs_libc_formula?).and_return(false)
allow(DevelopmentTools).to receive(:needs_compiler_formula?).and_return(false)
allow(DevelopmentTools).to receive_messages(needs_libc_formula?: false, needs_compiler_formula?: false)
f = formula do
url "foo-1.0"

View File

@ -35,8 +35,7 @@ describe Utils::Bottles::Collector do
end
it "does not use older tags when requested not to", :needs_macos do
allow(Homebrew::EnvConfig).to receive(:developer?).and_return(true)
allow(Homebrew::EnvConfig).to receive(:skip_or_later_bottles?).and_return(true)
allow(Homebrew::EnvConfig).to receive_messages(developer?: true, skip_or_later_bottles?: true)
allow(OS::Mac.version).to receive(:prerelease?).and_return(true)
collector.add(mojave, checksum: Checksum.new("foo_checksum"), cellar: "foo_cellar")
expect(collector.send(:find_matching_tag, mojave)).to eq(mojave)

View File

@ -29,9 +29,9 @@ describe Version do
end
it "can be compared against strings" do
expect(described_class.create("2")).to be == "2"
expect(described_class.create("p194")).to be == "p194"
expect(described_class.create("1")).to be == 1
expect(described_class.create("2")).to eq "2"
expect(described_class.create("p194")).to eq "p194"
expect(described_class.create("1")).to eq 1
end
specify "comparison returns nil for non-token" do
@ -133,12 +133,12 @@ describe Version do
end
it "is equal to itself" do
expect(null_version).to be == described_class::NULL_TOKEN
expect(null_version).to eq described_class::NULL_TOKEN
end
end
specify "comparison" do
expect(described_class.new("0.1")).to be == described_class.new("0.1.0")
expect(described_class.new("0.1")).to eq described_class.new("0.1.0")
expect(described_class.new("0.1")).to be < described_class.new("0.2")
expect(described_class.new("1.2.3")).to be > described_class.new("1.2.2")
expect(described_class.new("1.2.4")).to be < described_class.new("1.2.4.1")
@ -174,15 +174,15 @@ describe Version do
expect(described_class.new("HEAD-abcdef")).to be > described_class.new("1.2.3")
expect(described_class.new("1.2.3")).to be < described_class.new("HEAD")
expect(described_class.new("1.2.3")).to be < described_class.new("HEAD-fedcba")
expect(described_class.new("HEAD-abcdef")).to be == described_class.new("HEAD-fedcba")
expect(described_class.new("HEAD")).to be == described_class.new("HEAD-fedcba")
expect(described_class.new("HEAD-abcdef")).to eq described_class.new("HEAD-fedcba")
expect(described_class.new("HEAD")).to eq described_class.new("HEAD-fedcba")
end
specify "comparing alpha versions" do
expect(described_class.new("1.2.3alpha")).to be < described_class.new("1.2.3")
expect(described_class.new("1.2.3")).to be < described_class.new("1.2.3a")
expect(described_class.new("1.2.3alpha4")).to be == described_class.new("1.2.3a4")
expect(described_class.new("1.2.3alpha4")).to be == described_class.new("1.2.3A4")
expect(described_class.new("1.2.3alpha4")).to eq described_class.new("1.2.3a4")
expect(described_class.new("1.2.3alpha4")).to eq described_class.new("1.2.3A4")
expect(described_class.new("1.2.3alpha4")).to be > described_class.new("1.2.3alpha3")
expect(described_class.new("1.2.3alpha4")).to be < described_class.new("1.2.3alpha5")
expect(described_class.new("1.2.3alpha4")).to be < described_class.new("1.2.3alpha10")
@ -194,8 +194,8 @@ describe Version do
end
specify "comparing beta versions" do
expect(described_class.new("1.2.3beta2")).to be == described_class.new("1.2.3b2")
expect(described_class.new("1.2.3beta2")).to be == described_class.new("1.2.3B2")
expect(described_class.new("1.2.3beta2")).to eq described_class.new("1.2.3b2")
expect(described_class.new("1.2.3beta2")).to eq described_class.new("1.2.3B2")
expect(described_class.new("1.2.3beta2")).to be > described_class.new("1.2.3beta1")
expect(described_class.new("1.2.3beta2")).to be < described_class.new("1.2.3beta3")
expect(described_class.new("1.2.3beta2")).to be < described_class.new("1.2.3beta10")
@ -207,7 +207,7 @@ describe Version do
end
specify "comparing pre versions" do
expect(described_class.new("1.2.3pre9")).to be == described_class.new("1.2.3PRE9")
expect(described_class.new("1.2.3pre9")).to eq described_class.new("1.2.3PRE9")
expect(described_class.new("1.2.3pre9")).to be > described_class.new("1.2.3pre8")
expect(described_class.new("1.2.3pre8")).to be < described_class.new("1.2.3pre9")
expect(described_class.new("1.2.3pre9")).to be < described_class.new("1.2.3pre10")
@ -222,7 +222,7 @@ describe Version do
end
specify "comparing RC versions" do
expect(described_class.new("1.2.3rc3")).to be == described_class.new("1.2.3RC3")
expect(described_class.new("1.2.3rc3")).to eq described_class.new("1.2.3RC3")
expect(described_class.new("1.2.3rc3")).to be > described_class.new("1.2.3rc2")
expect(described_class.new("1.2.3rc3")).to be < described_class.new("1.2.3rc4")
expect(described_class.new("1.2.3rc3")).to be < described_class.new("1.2.3rc10")
@ -234,7 +234,7 @@ describe Version do
end
specify "comparing patch-level versions" do
expect(described_class.new("1.2.3-p34")).to be == described_class.new("1.2.3-P34")
expect(described_class.new("1.2.3-p34")).to eq described_class.new("1.2.3-P34")
expect(described_class.new("1.2.3-p34")).to be > described_class.new("1.2.3-p33")
expect(described_class.new("1.2.3-p34")).to be < described_class.new("1.2.3-p35")
expect(described_class.new("1.2.3-p34")).to be > described_class.new("1.2.3-p9")
@ -272,13 +272,13 @@ describe Version do
end
it "can be compared against strings" do
expect(described_class.new("2.1.0-p194")).to be == "2.1.0-p194"
expect(described_class.new("1")).to be == 1
expect(described_class.new("2.1.0-p194")).to eq "2.1.0-p194"
expect(described_class.new("1")).to eq 1
end
it "can be compared against tokens" do
expect(described_class.new("2.1.0-p194")).to be > Version::Token.create("2")
expect(described_class.new("1")).to be == Version::Token.create("1")
expect(described_class.new("1")).to eq Version::Token.create("1")
end
it "can be compared against Version::NULL_TOKEN" do
@ -373,29 +373,29 @@ describe Version do
describe "#major" do
it "returns major version token" do
expect(described_class.new("1").major).to be == Version::Token.create("1")
expect(described_class.new("1.2").major).to be == Version::Token.create("1")
expect(described_class.new("1.2.3").major).to be == Version::Token.create("1")
expect(described_class.new("1.2.3alpha").major).to be == Version::Token.create("1")
expect(described_class.new("1.2.3alpha4").major).to be == Version::Token.create("1")
expect(described_class.new("1.2.3beta4").major).to be == Version::Token.create("1")
expect(described_class.new("1.2.3pre4").major).to be == Version::Token.create("1")
expect(described_class.new("1.2.3rc4").major).to be == Version::Token.create("1")
expect(described_class.new("1.2.3-p4").major).to be == Version::Token.create("1")
expect(described_class.new("1").major).to eq Version::Token.create("1")
expect(described_class.new("1.2").major).to eq Version::Token.create("1")
expect(described_class.new("1.2.3").major).to eq Version::Token.create("1")
expect(described_class.new("1.2.3alpha").major).to eq Version::Token.create("1")
expect(described_class.new("1.2.3alpha4").major).to eq Version::Token.create("1")
expect(described_class.new("1.2.3beta4").major).to eq Version::Token.create("1")
expect(described_class.new("1.2.3pre4").major).to eq Version::Token.create("1")
expect(described_class.new("1.2.3rc4").major).to eq Version::Token.create("1")
expect(described_class.new("1.2.3-p4").major).to eq Version::Token.create("1")
end
end
describe "#minor" do
it "returns minor version token" do
expect(described_class.new("1").minor).to be_nil
expect(described_class.new("1.2").minor).to be == Version::Token.create("2")
expect(described_class.new("1.2.3").minor).to be == Version::Token.create("2")
expect(described_class.new("1.2.3alpha").minor).to be == Version::Token.create("2")
expect(described_class.new("1.2.3alpha4").minor).to be == Version::Token.create("2")
expect(described_class.new("1.2.3beta4").minor).to be == Version::Token.create("2")
expect(described_class.new("1.2.3pre4").minor).to be == Version::Token.create("2")
expect(described_class.new("1.2.3rc4").minor).to be == Version::Token.create("2")
expect(described_class.new("1.2.3-p4").minor).to be == Version::Token.create("2")
expect(described_class.new("1.2").minor).to eq Version::Token.create("2")
expect(described_class.new("1.2.3").minor).to eq Version::Token.create("2")
expect(described_class.new("1.2.3alpha").minor).to eq Version::Token.create("2")
expect(described_class.new("1.2.3alpha4").minor).to eq Version::Token.create("2")
expect(described_class.new("1.2.3beta4").minor).to eq Version::Token.create("2")
expect(described_class.new("1.2.3pre4").minor).to eq Version::Token.create("2")
expect(described_class.new("1.2.3rc4").minor).to eq Version::Token.create("2")
expect(described_class.new("1.2.3-p4").minor).to eq Version::Token.create("2")
end
end
@ -403,41 +403,41 @@ describe Version do
it "returns patch version token" do
expect(described_class.new("1").patch).to be_nil
expect(described_class.new("1.2").patch).to be_nil
expect(described_class.new("1.2.3").patch).to be == Version::Token.create("3")
expect(described_class.new("1.2.3alpha").patch).to be == Version::Token.create("3")
expect(described_class.new("1.2.3alpha4").patch).to be == Version::Token.create("3")
expect(described_class.new("1.2.3beta4").patch).to be == Version::Token.create("3")
expect(described_class.new("1.2.3pre4").patch).to be == Version::Token.create("3")
expect(described_class.new("1.2.3rc4").patch).to be == Version::Token.create("3")
expect(described_class.new("1.2.3-p4").patch).to be == Version::Token.create("3")
expect(described_class.new("1.2.3").patch).to eq Version::Token.create("3")
expect(described_class.new("1.2.3alpha").patch).to eq Version::Token.create("3")
expect(described_class.new("1.2.3alpha4").patch).to eq Version::Token.create("3")
expect(described_class.new("1.2.3beta4").patch).to eq Version::Token.create("3")
expect(described_class.new("1.2.3pre4").patch).to eq Version::Token.create("3")
expect(described_class.new("1.2.3rc4").patch).to eq Version::Token.create("3")
expect(described_class.new("1.2.3-p4").patch).to eq Version::Token.create("3")
end
end
describe "#major_minor" do
it "returns major.minor version" do
expect(described_class.new("1").major_minor).to be == described_class.new("1")
expect(described_class.new("1.2").major_minor).to be == described_class.new("1.2")
expect(described_class.new("1.2.3").major_minor).to be == described_class.new("1.2")
expect(described_class.new("1.2.3alpha").major_minor).to be == described_class.new("1.2")
expect(described_class.new("1.2.3alpha4").major_minor).to be == described_class.new("1.2")
expect(described_class.new("1.2.3beta4").major_minor).to be == described_class.new("1.2")
expect(described_class.new("1.2.3pre4").major_minor).to be == described_class.new("1.2")
expect(described_class.new("1.2.3rc4").major_minor).to be == described_class.new("1.2")
expect(described_class.new("1.2.3-p4").major_minor).to be == described_class.new("1.2")
expect(described_class.new("1").major_minor).to eq described_class.new("1")
expect(described_class.new("1.2").major_minor).to eq described_class.new("1.2")
expect(described_class.new("1.2.3").major_minor).to eq described_class.new("1.2")
expect(described_class.new("1.2.3alpha").major_minor).to eq described_class.new("1.2")
expect(described_class.new("1.2.3alpha4").major_minor).to eq described_class.new("1.2")
expect(described_class.new("1.2.3beta4").major_minor).to eq described_class.new("1.2")
expect(described_class.new("1.2.3pre4").major_minor).to eq described_class.new("1.2")
expect(described_class.new("1.2.3rc4").major_minor).to eq described_class.new("1.2")
expect(described_class.new("1.2.3-p4").major_minor).to eq described_class.new("1.2")
end
end
describe "#major_minor_patch" do
it "returns major.minor.patch version" do
expect(described_class.new("1").major_minor_patch).to be == described_class.new("1")
expect(described_class.new("1.2").major_minor_patch).to be == described_class.new("1.2")
expect(described_class.new("1.2.3").major_minor_patch).to be == described_class.new("1.2.3")
expect(described_class.new("1.2.3alpha").major_minor_patch).to be == described_class.new("1.2.3")
expect(described_class.new("1.2.3alpha4").major_minor_patch).to be == described_class.new("1.2.3")
expect(described_class.new("1.2.3beta4").major_minor_patch).to be == described_class.new("1.2.3")
expect(described_class.new("1.2.3pre4").major_minor_patch).to be == described_class.new("1.2.3")
expect(described_class.new("1.2.3rc4").major_minor_patch).to be == described_class.new("1.2.3")
expect(described_class.new("1.2.3-p4").major_minor_patch).to be == described_class.new("1.2.3")
expect(described_class.new("1").major_minor_patch).to eq described_class.new("1")
expect(described_class.new("1.2").major_minor_patch).to eq described_class.new("1.2")
expect(described_class.new("1.2.3").major_minor_patch).to eq described_class.new("1.2.3")
expect(described_class.new("1.2.3alpha").major_minor_patch).to eq described_class.new("1.2.3")
expect(described_class.new("1.2.3alpha4").major_minor_patch).to eq described_class.new("1.2.3")
expect(described_class.new("1.2.3beta4").major_minor_patch).to eq described_class.new("1.2.3")
expect(described_class.new("1.2.3pre4").major_minor_patch).to eq described_class.new("1.2.3")
expect(described_class.new("1.2.3rc4").major_minor_patch).to eq described_class.new("1.2.3")
expect(described_class.new("1.2.3-p4").major_minor_patch).to eq described_class.new("1.2.3")
end
end

View File

@ -462,8 +462,8 @@ module Homebrew
def depends_on(one, two)
if one.any_installed_keg
&.runtime_dependencies
&.any? { |dependency| dependency["full_name"] == two.full_name }
&.runtime_dependencies
&.any? { |dependency| dependency["full_name"] == two.full_name }
1
else
one <=> two

View File

@ -190,7 +190,7 @@ module Utils
elsif macos? && [:x86_64, :intel].include?(arch)
system
else
"#{standardized_arch}_#{system}".to_sym
:"#{standardized_arch}_#{system}"
end
end

View File

@ -744,7 +744,7 @@ module GitHub
end
def self.multiple_short_commits_exist?(user, repo, commit)
return if Homebrew::EnvConfig.no_github_api?
return false if Homebrew::EnvConfig.no_github_api?
output, _, status = Utils::Curl.curl_output(
"--silent", "--head", "--location",

View File

@ -52,7 +52,7 @@ module SharedAudits
return "#{tag} is not a GitHub pre-release but '#{name}' is in the GitHub prerelease allowlist."
end
return "#{tag} is a GitHub draft." if release["draft"]
"#{tag} is a GitHub draft." if release["draft"]
end
def gitlab_repo_data(user, repo)

View File

@ -118,7 +118,7 @@ module Utils
# anything that isn't a known safe character is padded
str.gsub!(UNSAFE_SHELL_CHAR, "\\\\" + "\\1") # rubocop:disable Style/StringConcatenation
# newlines have to be specially quoted in csh
str.gsub!(/\n/, "'\\\n'")
str.gsub!("\n", "'\\\n'")
str
end
@ -131,7 +131,7 @@ module Utils
str = str.dup
# anything that isn't a known safe character is padded
str.gsub!(UNSAFE_SHELL_CHAR, "\\\\" + "\\1") # rubocop:disable Style/StringConcatenation
str.gsub!(/\n/, "'\n'")
str.gsub!("\n", "'\n'")
str
end
end

View File

@ -196,7 +196,7 @@ module SPDX
name, version, = license_version_info license
forbidden_licenses.each do |_, license_info|
forbidden_licenses.each_value do |license_info|
forbidden_name, forbidden_version, forbidden_or_later = *license_info
next if forbidden_name != name