blob: 655aa1d46b5a64c19d608960696a21acfff39cc1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
  | 
require "testing_env"
require "fileutils"
require "pathname"
require "diagnostic"
class OSMacDiagnosticChecksTest < Homebrew::TestCase
  def setup
    @env = ENV.to_hash
    @checks = Homebrew::Diagnostic::Checks.new
  end
  def teardown
    ENV.replace(@env)
  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
    ARGV.stubs(:homebrew_developer?).returns false
    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
  |