Merge pull request #2176 from reitermarkus/spec-os_mac_diagnostic
Convert `os/mac/diagnostic` test to spec.
This commit is contained in:
commit
fd639f4aa9
42
Library/Homebrew/test/os/mac/diagnostic_spec.rb
Normal file
42
Library/Homebrew/test/os/mac/diagnostic_spec.rb
Normal file
@ -0,0 +1,42 @@
|
||||
require "diagnostic"
|
||||
|
||||
describe Homebrew::Diagnostic::Checks do
|
||||
specify "#check_for_other_package_managers" do
|
||||
allow(MacOS).to receive(:macports_or_fink).and_return(["fink"])
|
||||
expect(subject.check_for_other_package_managers)
|
||||
.to match("You have MacPorts or Fink installed:")
|
||||
end
|
||||
|
||||
specify "#check_for_unsupported_macos" do
|
||||
ENV.delete("HOMEBREW_DEVELOPER")
|
||||
allow(OS::Mac).to receive(:prerelease?).and_return(true)
|
||||
|
||||
expect(subject.check_for_unsupported_macos)
|
||||
.to match("We do not provide support for this pre-release version.")
|
||||
end
|
||||
|
||||
specify "#check_for_unsupported_curl_vars" do
|
||||
allow(MacOS).to receive(:version).and_return(OS::Mac::Version.new("10.10"))
|
||||
ENV["SSL_CERT_DIR"] = "/some/path"
|
||||
|
||||
expect(subject.check_for_unsupported_curl_vars)
|
||||
.to match("SSL_CERT_DIR support was removed from Apple's curl.")
|
||||
end
|
||||
|
||||
specify "#check_for_beta_xquartz" do
|
||||
allow(MacOS::XQuartz).to receive(:version).and_return("2.7.10_beta2")
|
||||
|
||||
expect(subject.check_for_beta_xquartz)
|
||||
.to match("The following beta release of XQuartz is installed: 2.7.10_beta2")
|
||||
end
|
||||
|
||||
specify "#check_xcode_8_without_clt_on_el_capitan" do
|
||||
allow(MacOS).to receive(:version).and_return(OS::Mac::Version.new("10.11"))
|
||||
allow(MacOS::Xcode).to receive(:installed?).and_return(true)
|
||||
allow(MacOS::Xcode).to receive(:version).and_return("8.0")
|
||||
allow(MacOS::Xcode).to receive(:without_clt?).and_return(true)
|
||||
|
||||
expect(subject.check_xcode_8_without_clt_on_el_capitan)
|
||||
.to match("You have Xcode 8 installed without the CLT")
|
||||
end
|
||||
end
|
||||
@ -1,45 +0,0 @@
|
||||
require "testing_env"
|
||||
require "fileutils"
|
||||
require "pathname"
|
||||
require "diagnostic"
|
||||
|
||||
class OSMacDiagnosticChecksTest < Homebrew::TestCase
|
||||
def setup
|
||||
super
|
||||
@checks = Homebrew::Diagnostic::Checks.new
|
||||
end
|
||||
|
||||
def test_check_for_other_package_managers
|
||||
MacOS.stubs(:macports_or_fink).returns ["fink"]
|
||||
assert_match "You have MacPorts or Fink installed:",
|
||||
@checks.check_for_other_package_managers
|
||||
end
|
||||
|
||||
def test_check_for_unsupported_macos
|
||||
ENV.delete("HOMEBREW_DEVELOPER")
|
||||
OS::Mac.stubs(:prerelease?).returns true
|
||||
assert_match "We do not provide support for this pre-release version.",
|
||||
@checks.check_for_unsupported_macos
|
||||
end
|
||||
|
||||
def test_check_for_unsupported_curl_vars
|
||||
MacOS.stubs(:version).returns OS::Mac::Version.new("10.10")
|
||||
ENV["SSL_CERT_DIR"] = "/some/path"
|
||||
|
||||
assert_match "SSL_CERT_DIR support was removed from Apple's curl.",
|
||||
@checks.check_for_unsupported_curl_vars
|
||||
end
|
||||
|
||||
def test_check_for_beta_xquartz
|
||||
MacOS::XQuartz.stubs(:version).returns("2.7.10_beta2")
|
||||
assert_match "The following beta release of XQuartz is installed: 2.7.10_beta2", @checks.check_for_beta_xquartz
|
||||
end
|
||||
|
||||
def test_check_xcode_8_without_clt_on_el_capitan
|
||||
MacOS.stubs(:version).returns OS::Mac::Version.new("10.11")
|
||||
MacOS::Xcode.stubs(:installed?).returns true
|
||||
MacOS::Xcode.stubs(:version).returns "8.0"
|
||||
MacOS::Xcode.stubs(:without_clt?).returns true
|
||||
assert_match "You have Xcode 8 installed without the CLT", @checks.check_xcode_8_without_clt_on_el_capitan
|
||||
end
|
||||
end
|
||||
Loading…
x
Reference in New Issue
Block a user