diff options
| author | Mike McQuaid | 2017-07-25 13:46:19 +0100 |
|---|---|---|
| committer | GitHub | 2017-07-25 13:46:19 +0100 |
| commit | 7041f7eb00004335c026236885f84bd8c0018c0d (patch) | |
| tree | c11a6ed19f4ff44f58a18ed4221899789168b420 /Library/Homebrew/test | |
| parent | 0b0ab9b606d9c2ee6e79c4f63c959c7d62c13a52 (diff) | |
| parent | b7ddd271e1d3b983b0fffbb6d87f0b45a3abcb9e (diff) | |
| download | brew-7041f7eb00004335c026236885f84bd8c0018c0d.tar.bz2 | |
Merge pull request #2911 from GauthamGoli/audit_urls_rubocop_part_1
audit: Port audit_urls partially to rubocop and add corresponding tests
Diffstat (limited to 'Library/Homebrew/test')
| -rw-r--r-- | Library/Homebrew/test/rubocops/urls_cop_spec.rb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Library/Homebrew/test/rubocops/urls_cop_spec.rb b/Library/Homebrew/test/rubocops/urls_cop_spec.rb new file mode 100644 index 000000000..2e56dbf03 --- /dev/null +++ b/Library/Homebrew/test/rubocops/urls_cop_spec.rb @@ -0,0 +1,54 @@ +require "rubocop" +require "rubocop/rspec/support" +require_relative "../../extend/string" +require_relative "../../rubocops/urls_cop" + +describe RuboCop::Cop::FormulaAudit::Urls do + subject(:cop) { described_class.new } + + context "When auditing urls" do + it "with offenses" do + formulas = [{ + "url" => "https://ftpmirror.gnu.org/lightning/lightning-2.1.0.tar.gz", + "msg" => 'Please use "https://ftp.gnu.org/gnu/lightning/lightning-2.1.0.tar.gz" instead of https://ftpmirror.gnu.org/lightning/lightning-2.1.0.tar.gz.', + "col" => 2, + }, { + "url" => "https://fossies.org/linux/privat/monit-5.23.0.tar.gz", + "msg" => "Please don't use fossies.org in the url (using as a mirror is fine)", + "col" => 2, + }, { + "url" => "http://tools.ietf.org/tools/rfcmarkup/rfcmarkup-1.119.tgz", + "msg" => "Please use https:// for http://tools.ietf.org/tools/rfcmarkup/rfcmarkup-1.119.tgz", + "col" => 2, + }, { + "url" => "http://search.mcpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Perl4-CoreLibs-0.003.tar.gz", + "msg" => "http://search.mcpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Perl4-CoreLibs-0.003.tar.gz should be `https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Perl4-CoreLibs-0.003.tar.gz`", + "col" => 2, + }, { + "url" => "http://ftp.gnome.org/pub/GNOME/binaries/mac/banshee/banshee-2.macosx.intel.dmg", + "msg" => "http://ftp.gnome.org/pub/GNOME/binaries/mac/banshee/banshee-2.macosx.intel.dmg should be `https://download.gnome.org/binaries/mac/banshee/banshee-2.macosx.intel.dmg`", + "col" => 2, + }] + + formulas.each do |formula| + source = <<-EOS.undent + class Foo < Formula + desc "foo" + url "#{formula["url"]}" + end + EOS + expected_offenses = [{ message: formula["msg"], + severity: :convention, + line: 3, + column: formula["col"], + source: source }] + + inspect_source(cop, source) + + expected_offenses.zip(cop.offenses.reverse).each do |expected, actual| + expect_offense(expected, actual) + end + end + end + end +end |
