mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Tweak tests.
This commit is contained in:
parent
ce8788e5bc
commit
1df501b0ac
@ -42,6 +42,12 @@ module RuboCop
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def on_new_investigation
|
||||||
|
super
|
||||||
|
|
||||||
|
ignored_nodes.clear
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def sort_stanzas(stanzas)
|
def sort_stanzas(stanzas)
|
||||||
|
@ -27,11 +27,11 @@ module CaskCop
|
|||||||
offenses = inspect_source(source)
|
offenses = inspect_source(source)
|
||||||
expect(offenses.size).to eq(expected_offenses.size)
|
expect(offenses.size).to eq(expected_offenses.size)
|
||||||
expected_offenses.zip(offenses).each do |expected, actual|
|
expected_offenses.zip(offenses).each do |expected, actual|
|
||||||
expect_offense(expected, actual)
|
expect_offense2(expected, actual)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def expect_offense(expected, actual)
|
def expect_offense2(expected, actual)
|
||||||
expect(actual.message).to eq(expected[:message])
|
expect(actual.message).to eq(expected[:message])
|
||||||
expect(actual.severity).to eq(expected[:severity])
|
expect(actual.severity).to eq(expected[:severity])
|
||||||
expect(actual.line).to eq(expected[:line])
|
expect(actual.line).to eq(expected[:line])
|
||||||
|
@ -3,11 +3,9 @@
|
|||||||
require "rubocops/rubocop-cask"
|
require "rubocops/rubocop-cask"
|
||||||
require "test/rubocops/cask/shared_examples/cask_cop"
|
require "test/rubocops/cask/shared_examples/cask_cop"
|
||||||
|
|
||||||
describe RuboCop::Cop::Cask::StanzaOrder do
|
describe RuboCop::Cop::Cask::StanzaOrder, :config do
|
||||||
include CaskCop
|
include CaskCop
|
||||||
|
|
||||||
subject(:cop) { described_class.new }
|
|
||||||
|
|
||||||
context "when there is only one stanza" do
|
context "when there is only one stanza" do
|
||||||
let(:source) do
|
let(:source) do
|
||||||
<<~CASK
|
<<~CASK
|
||||||
@ -55,13 +53,13 @@ describe RuboCop::Cop::Cask::StanzaOrder do
|
|||||||
end
|
end
|
||||||
let(:expected_offenses) do
|
let(:expected_offenses) do
|
||||||
[{
|
[{
|
||||||
message: "Cask/StanzaOrder: `sha256` stanza out of order",
|
message: "`sha256` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 2,
|
line: 2,
|
||||||
column: 2,
|
column: 2,
|
||||||
source: "sha256 :no_check",
|
source: "sha256 :no_check",
|
||||||
}, {
|
}, {
|
||||||
message: "Cask/StanzaOrder: `version` stanza out of order",
|
message: "`version` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 3,
|
line: 3,
|
||||||
column: 2,
|
column: 2,
|
||||||
@ -95,19 +93,19 @@ describe RuboCop::Cop::Cask::StanzaOrder do
|
|||||||
end
|
end
|
||||||
let(:expected_offenses) do
|
let(:expected_offenses) do
|
||||||
[{
|
[{
|
||||||
message: "Cask/StanzaOrder: `version` stanza out of order",
|
message: "`version` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 2,
|
line: 2,
|
||||||
column: 2,
|
column: 2,
|
||||||
source: "version :latest",
|
source: "version :latest",
|
||||||
}, {
|
}, {
|
||||||
message: "Cask/StanzaOrder: `sha256` stanza out of order",
|
message: "`sha256` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 3,
|
line: 3,
|
||||||
column: 2,
|
column: 2,
|
||||||
source: "sha256 :no_check",
|
source: "sha256 :no_check",
|
||||||
}, {
|
}, {
|
||||||
message: "Cask/StanzaOrder: `arch` stanza out of order",
|
message: "`arch` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 4,
|
line: 4,
|
||||||
column: 2,
|
column: 2,
|
||||||
@ -143,13 +141,13 @@ describe RuboCop::Cop::Cask::StanzaOrder do
|
|||||||
end
|
end
|
||||||
let(:expected_offenses) do
|
let(:expected_offenses) do
|
||||||
[{
|
[{
|
||||||
message: "Cask/StanzaOrder: `sha256` stanza out of order",
|
message: "`sha256` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 3,
|
line: 3,
|
||||||
column: 2,
|
column: 2,
|
||||||
source: "sha256 :no_check",
|
source: "sha256 :no_check",
|
||||||
}, {
|
}, {
|
||||||
message: "Cask/StanzaOrder: `on_arch_conditional` stanza out of order",
|
message: "`on_arch_conditional` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 5,
|
line: 5,
|
||||||
column: 2,
|
column: 2,
|
||||||
@ -185,13 +183,13 @@ describe RuboCop::Cop::Cask::StanzaOrder do
|
|||||||
end
|
end
|
||||||
let(:expected_offenses) do
|
let(:expected_offenses) do
|
||||||
[{
|
[{
|
||||||
message: "Cask/StanzaOrder: `on_arch_conditional` stanza out of order",
|
message: "`on_arch_conditional` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 2,
|
line: 2,
|
||||||
column: 2,
|
column: 2,
|
||||||
source: 'folder = on_arch_conditional arm: "darwin-arm64", intel: "darwin"',
|
source: 'folder = on_arch_conditional arm: "darwin-arm64", intel: "darwin"',
|
||||||
}, {
|
}, {
|
||||||
message: "Cask/StanzaOrder: `arch` stanza out of order",
|
message: "`arch` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 3,
|
line: 3,
|
||||||
column: 2,
|
column: 2,
|
||||||
@ -231,26 +229,26 @@ describe RuboCop::Cop::Cask::StanzaOrder do
|
|||||||
end
|
end
|
||||||
let(:expected_offenses) do
|
let(:expected_offenses) do
|
||||||
[{
|
[{
|
||||||
message: "Cask/StanzaOrder: `url` stanza out of order",
|
message: "`url` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 2,
|
line: 2,
|
||||||
column: 2,
|
column: 2,
|
||||||
source: "url 'https://foo.brew.sh/foo.zip'",
|
source: "url 'https://foo.brew.sh/foo.zip'",
|
||||||
}, {
|
}, {
|
||||||
message: "Cask/StanzaOrder: `uninstall` stanza out of order",
|
message: "`uninstall` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 3,
|
line: 3,
|
||||||
column: 2,
|
column: 2,
|
||||||
source: "uninstall :quit => 'com.example.foo'," \
|
source: "uninstall :quit => 'com.example.foo'," \
|
||||||
"\n :kext => 'com.example.foo.kext'",
|
"\n :kext => 'com.example.foo.kext'",
|
||||||
}, {
|
}, {
|
||||||
message: "Cask/StanzaOrder: `version` stanza out of order",
|
message: "`version` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 5,
|
line: 5,
|
||||||
column: 2,
|
column: 2,
|
||||||
source: "version :latest",
|
source: "version :latest",
|
||||||
}, {
|
}, {
|
||||||
message: "Cask/StanzaOrder: `sha256` stanza out of order",
|
message: "`sha256` stanza out of order",
|
||||||
severity: :convention,
|
severity: :convention,
|
||||||
line: 7,
|
line: 7,
|
||||||
column: 2,
|
column: 2,
|
||||||
@ -500,37 +498,43 @@ describe RuboCop::Cop::Cask::StanzaOrder do
|
|||||||
include_examples "autocorrects source"
|
include_examples "autocorrects source"
|
||||||
end
|
end
|
||||||
|
|
||||||
context "when the `on_os` stanzas and their contents are out of order" do
|
it "registers an offense when `on_os` stanzas and their contents are out of order" do
|
||||||
let(:source) do
|
expect_offense <<~CASK
|
||||||
<<~CASK
|
|
||||||
cask "foo" do
|
cask "foo" do
|
||||||
on_ventura do
|
on_ventura do
|
||||||
|
^^^^^^^^^^^^^ `on_ventura` stanza out of order
|
||||||
sha256 "abc123"
|
sha256 "abc123"
|
||||||
|
^^^^^^^^^^^^^^^ `sha256` stanza out of order
|
||||||
version :latest
|
version :latest
|
||||||
|
^^^^^^^^^^^^^^^ `version` stanza out of order
|
||||||
url "https://foo.brew.sh/foo-ventura.zip"
|
url "https://foo.brew.sh/foo-ventura.zip"
|
||||||
end
|
end
|
||||||
on_catalina do
|
on_catalina do
|
||||||
sha256 "def456"
|
sha256 "def456"
|
||||||
|
^^^^^^^^^^^^^^^ `sha256` stanza out of order
|
||||||
version "0.7"
|
version "0.7"
|
||||||
|
^^^^^^^^^^^^^ `version` stanza out of order
|
||||||
url "https://foo.brew.sh/foo-catalina.zip"
|
url "https://foo.brew.sh/foo-catalina.zip"
|
||||||
end
|
end
|
||||||
on_mojave do
|
on_mojave do
|
||||||
|
^^^^^^^^^^^^ `on_mojave` stanza out of order
|
||||||
version :latest
|
version :latest
|
||||||
sha256 "ghi789"
|
sha256 "ghi789"
|
||||||
url "https://foo.brew.sh/foo-mojave.zip"
|
url "https://foo.brew.sh/foo-mojave.zip"
|
||||||
end
|
end
|
||||||
on_big_sur do
|
on_big_sur do
|
||||||
|
^^^^^^^^^^^^^ `on_big_sur` stanza out of order
|
||||||
sha256 "jkl012"
|
sha256 "jkl012"
|
||||||
|
^^^^^^^^^^^^^^^ `sha256` stanza out of order
|
||||||
version :latest
|
version :latest
|
||||||
|
^^^^^^^^^^^^^^^ `version` stanza out of order
|
||||||
|
|
||||||
url "https://foo.brew.sh/foo-big-sur.zip"
|
url "https://foo.brew.sh/foo-big-sur.zip"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
CASK
|
CASK
|
||||||
end
|
|
||||||
|
|
||||||
let(:correct_source) do
|
expect_correction <<~CASK
|
||||||
<<~CASK
|
|
||||||
cask "foo" do
|
cask "foo" do
|
||||||
on_mojave do
|
on_mojave do
|
||||||
version :latest
|
version :latest
|
||||||
@ -556,7 +560,4 @@ describe RuboCop::Cop::Cask::StanzaOrder do
|
|||||||
end
|
end
|
||||||
CASK
|
CASK
|
||||||
end
|
end
|
||||||
|
|
||||||
include_examples "autocorrects source"
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user