Make test not depend on macOS version.
This commit is contained in:
parent
f9e88a864e
commit
3275b927b8
@ -217,21 +217,16 @@ describe Cask::Cask, :cask do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe "#to_h" do
|
describe "#to_h" do
|
||||||
let(:expected_json) { File.read("#{TEST_FIXTURE_DIR}/cask/everything.json").strip }
|
let(:expected_json) { (TEST_FIXTURE_DIR/"cask/everything.json").read.strip }
|
||||||
let(:expected_json_after_ventura) do
|
|
||||||
File.read("#{TEST_FIXTURE_DIR}/cask/everything-systemsettings-caveats.json").strip
|
|
||||||
end
|
|
||||||
|
|
||||||
context "when loaded from cask file" do
|
context "when loaded from cask file" do
|
||||||
it "returns expected hash" do
|
it "returns expected hash" do
|
||||||
|
allow(MacOS).to receive(:version).and_return(MacOS::Version.new("13"))
|
||||||
|
|
||||||
hash = Cask::CaskLoader.load("everything").to_h
|
hash = Cask::CaskLoader.load("everything").to_h
|
||||||
|
|
||||||
expect(hash).to be_a(Hash)
|
expect(hash).to be_a(Hash)
|
||||||
if MacOS.version >= :ventura
|
expect(JSON.pretty_generate(hash)).to eq(expected_json)
|
||||||
expect(JSON.pretty_generate(hash)).to eq(expected_json_after_ventura)
|
|
||||||
else
|
|
||||||
expect(JSON.pretty_generate(hash)).to eq(expected_json)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -4,10 +4,31 @@
|
|||||||
require "test/cask/dsl/shared_examples/base"
|
require "test/cask/dsl/shared_examples/base"
|
||||||
|
|
||||||
describe Cask::DSL::Caveats, :cask do
|
describe Cask::DSL::Caveats, :cask do
|
||||||
let(:cask) { Cask::CaskLoader.load(cask_path("basic-cask")) }
|
subject(:caveats) { described_class.new(cask) }
|
||||||
let(:dsl) { described_class.new(cask) }
|
|
||||||
|
|
||||||
|
let(:cask) { Cask::CaskLoader.load(cask_path("basic-cask")) }
|
||||||
|
let(:dsl) { caveats }
|
||||||
it_behaves_like Cask::DSL::Base
|
it_behaves_like Cask::DSL::Base
|
||||||
|
|
||||||
# TODO: add tests for Caveats DSL methods
|
# TODO: add tests for Caveats DSL methods
|
||||||
|
|
||||||
|
describe "#kext" do
|
||||||
|
let(:cask) { instance_double(Cask::Cask) }
|
||||||
|
|
||||||
|
it "points to System Preferences on macOS Monterey and earlier" do
|
||||||
|
allow(MacOS).to receive(:version).and_return(MacOS::Version.new("12"))
|
||||||
|
caveats.eval_caveats do
|
||||||
|
kext
|
||||||
|
end
|
||||||
|
expect(caveats.to_s).to include("System Preferences → Security & Privacy → General")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "points to System Settings on macOS Ventura and later" do
|
||||||
|
allow(MacOS).to receive(:version).and_return(MacOS::Version.new("13"))
|
||||||
|
caveats.eval_caveats do
|
||||||
|
kext
|
||||||
|
end
|
||||||
|
expect(caveats.to_s).to include("System Settings → Privacy & Security")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,100 +0,0 @@
|
|||||||
{
|
|
||||||
"token": "everything",
|
|
||||||
"full_token": "everything",
|
|
||||||
"tap": "homebrew/cask",
|
|
||||||
"name": [
|
|
||||||
"Everything"
|
|
||||||
],
|
|
||||||
"desc": "Little bit of everything",
|
|
||||||
"homepage": "https://www.everything.app/",
|
|
||||||
"url": "https://cachefly.everything.app/releases/Everything_1.2.3.zip",
|
|
||||||
"url_specs": {
|
|
||||||
"cookies": {
|
|
||||||
"ALL": "1234"
|
|
||||||
},
|
|
||||||
"user_agent": ":fake"
|
|
||||||
},
|
|
||||||
"appcast": null,
|
|
||||||
"version": "1.2.3",
|
|
||||||
"versions": {
|
|
||||||
},
|
|
||||||
"installed": null,
|
|
||||||
"outdated": false,
|
|
||||||
"sha256": "c64c05bdc0be845505d6e55e69e696a7f50d40846e76155f0c85d5ff5e7bbb84",
|
|
||||||
"artifacts": [
|
|
||||||
{
|
|
||||||
"uninstall": [
|
|
||||||
{
|
|
||||||
"launchctl": "com.every.thing.agent",
|
|
||||||
"delete": [
|
|
||||||
"/Library/EverythingHelperTools"
|
|
||||||
],
|
|
||||||
"kext": "com.every.thing.driver",
|
|
||||||
"signal": [
|
|
||||||
[
|
|
||||||
"TERM",
|
|
||||||
"com.every.thing.controller1"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"TERM",
|
|
||||||
"com.every.thing.bin"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"installer": [
|
|
||||||
{
|
|
||||||
"script": {
|
|
||||||
"executable": "~/just/another/path/install.sh",
|
|
||||||
"args": [
|
|
||||||
"--mode=silent"
|
|
||||||
],
|
|
||||||
"sudo": true,
|
|
||||||
"print_stderr": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"app": [
|
|
||||||
"Everything.app"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"zap": [
|
|
||||||
{
|
|
||||||
"trash": [
|
|
||||||
"~/.everything",
|
|
||||||
"~/Library/Everything"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"caveats": "Installing everything might take a while...\n\neverything requires a kernel extension to work.\nIf the installation fails, retry after you enable it in:\n System Settings → Privacy & Security\n\nFor more information, refer to vendor documentation or this Apple Technical Note:\n https://developer.apple.com/library/content/technotes/tn2459/_index.html\n",
|
|
||||||
"depends_on": {
|
|
||||||
"cask": [
|
|
||||||
"something"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"conflicts_with": {
|
|
||||||
"formula": [
|
|
||||||
"nothing"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"container": {
|
|
||||||
"type": "naked"
|
|
||||||
},
|
|
||||||
"auto_updates": true,
|
|
||||||
"tap_git_head": null,
|
|
||||||
"languages": [
|
|
||||||
"en",
|
|
||||||
"eo"
|
|
||||||
],
|
|
||||||
"ruby_source_path": "Casks/everything.rb",
|
|
||||||
"ruby_source_checksum": {
|
|
||||||
"sha256": "b2707d1952f02c3fa566b7ad2a707a847a959d36f51d3dee642dbe5deec12f27"
|
|
||||||
}
|
|
||||||
}
|
|
@ -73,7 +73,7 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"caveats": "Installing everything might take a while...\n\neverything requires a kernel extension to work.\nIf the installation fails, retry after you enable it in:\n System Preferences → Security & Privacy → General\n\nFor more information, refer to vendor documentation or this Apple Technical Note:\n https://developer.apple.com/library/content/technotes/tn2459/_index.html\n",
|
"caveats": "Installing everything might take a while...\n\neverything requires a kernel extension to work.\nIf the installation fails, retry after you enable it in:\n System Settings → Privacy & Security\n\nFor more information, refer to vendor documentation or this Apple Technical Note:\n https://developer.apple.com/library/content/technotes/tn2459/_index.html\n",
|
||||||
"depends_on": {
|
"depends_on": {
|
||||||
"cask": [
|
"cask": [
|
||||||
"something"
|
"something"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user