add bump spec

This commit is contained in:
Elizabeth Tackett 2020-08-05 10:10:05 -05:00
parent db27f446d0
commit a3278ad345
3 changed files with 19 additions and 7 deletions

View File

@ -23,9 +23,10 @@ module Homebrew
end end
def bump def bump
bump_args.parse args = bump_args.parse
requested_formula = Homebrew.args.formula requested_formula = args.formula
requested_limit = args.limit ? args.limit.to_i : nil
requested_formula&.downcase! requested_formula&.downcase!
raise FormulaUnavailableError, requested_formula if requested_formula && !validate_formula(requested_formula) raise FormulaUnavailableError, requested_formula if requested_formula && !validate_formula(requested_formula)
@ -36,8 +37,12 @@ module Homebrew
Repology.parse_api_response Repology.parse_api_response
end end
validated_formulae = Repology.validate_and_format_packages(repology_data) if repology_data.blank?
display(validated_formulae) ohai "No Repology data found."
else
validated_formulae = Repology.validate_and_format_packages(repology_data, requested_limit)
display(validated_formulae)
end
end end
def validate_formula(formula_name) def validate_formula(formula_name)
@ -57,7 +62,7 @@ module Homebrew
title = (up_to_date?(package_details) ? formula + " is up to date!" : formula).to_s title = (up_to_date?(package_details) ? formula + " is up to date!" : formula).to_s
ohai title ohai title
puts "Current formula version: #{package_details[:current_formula_version]}" puts "Current formula version: #{package_details[:current_formula_version]}"
puts "Latest Repology version: #{package_details[:repology_latest_version]}" puts "Latest Repology version: #{package_details[:repology_latest_version] || "Not found"}"
puts "Latest livecheck version: #{package_details[:livecheck_latest_version] || "Not found"}" puts "Latest livecheck version: #{package_details[:livecheck_latest_version] || "Not found"}"
puts "Open pull requests: #{package_details[:open_pull_requests] || "None"}" puts "Open pull requests: #{package_details[:open_pull_requests] || "None"}"
end end

View File

@ -0,0 +1,7 @@
# frozen_string_literal: true
require "cmd/shared_examples/args_parse"
describe "Homebrew.bump_args" do
it_behaves_like "parseable arguments"
end

View File

@ -53,7 +53,7 @@ module Repology
outdated_packages outdated_packages
end end
def validate_and_format_packages(outdated_repology_packages) def validate_and_format_packages(outdated_repology_packages, limit)
packages = {} packages = {}
outdated_repology_packages.each do |_name, repositories| outdated_repology_packages.each do |_name, repositories|
# identify homebrew repo # identify homebrew repo
@ -68,7 +68,7 @@ module Repology
package_details = format_package(srcname, latest_version) package_details = format_package(srcname, latest_version)
packages[srcname] = package_details unless package_details.nil? packages[srcname] = package_details unless package_details.nil?
break if Homebrew.args.limit && packages.size >= Homebrew.args.limit.to_i break if limit && packages.size >= limit
end end
packages packages