edits
This commit is contained in:
		
							parent
							
								
									e81f4ab7de
								
							
						
					
					
						commit
						092e2797e1
					
				@ -51,6 +51,9 @@ begin
 | 
				
			|||||||
    ENV["PATH"] += "#{File::PATH_SEPARATOR}#{tap_cmd_dir}"
 | 
					    ENV["PATH"] += "#{File::PATH_SEPARATOR}#{tap_cmd_dir}"
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Add cask commands to PATH.
 | 
				
			||||||
 | 
					  ENV["PATH"] += "#{File::PATH_SEPARATOR}#{HOMEBREW_LIBRARY}/Homebrew/cask/cmd"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Add SCM wrappers.
 | 
					  # Add SCM wrappers.
 | 
				
			||||||
  ENV["PATH"] += "#{File::PATH_SEPARATOR}#{HOMEBREW_SHIMS_PATH}/scm"
 | 
					  ENV["PATH"] += "#{File::PATH_SEPARATOR}#{HOMEBREW_SHIMS_PATH}/scm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -166,7 +166,7 @@ class Hbc::CLI::Doctor < Hbc::CLI::Base
 | 
				
			|||||||
  # where "doctor" is needed is precisely the situation where such
 | 
					  # where "doctor" is needed is precisely the situation where such
 | 
				
			||||||
  # things are less dependable.
 | 
					  # things are less dependable.
 | 
				
			||||||
  def self.render_install_location
 | 
					  def self.render_install_location
 | 
				
			||||||
    locations = Dir.glob(homebrew_cellar.join("brew-cask", "*")).reverse
 | 
					    locations = Dir.glob(Pathname.new(homebrew_cellar).join("brew-cask", "*")).reverse
 | 
				
			||||||
    if locations.empty?
 | 
					    if locations.empty?
 | 
				
			||||||
      none_string
 | 
					      none_string
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
 | 
				
			|||||||
@ -361,17 +361,17 @@ module OS::Mac
 | 
				
			|||||||
                       "~/Library/Widgets",
 | 
					                       "~/Library/Widgets",
 | 
				
			||||||
                       "~/Library/Workflows",
 | 
					                       "~/Library/Workflows",
 | 
				
			||||||
                     ]
 | 
					                     ]
 | 
				
			||||||
                     .map { |x| Pathname(x).expand_path }
 | 
					                     .map { |x| Pathname(x.sub(%r{^~(?=(/|$))}, Dir.home)).expand_path }
 | 
				
			||||||
                     .to_set
 | 
					                     .to_set
 | 
				
			||||||
                     .union(SYSTEM_DIRS)
 | 
					                     .union(SYSTEM_DIRS)
 | 
				
			||||||
                     .freeze
 | 
					                     .freeze
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def system_dir?(dir)
 | 
					  def system_dir?(dir)
 | 
				
			||||||
    SYSTEM_DIRS.any? { |u| File.identical?(u, dir) }
 | 
					    SYSTEM_DIRS.include?(Pathname.new(dir).expand_path)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def undeletable?(dir)
 | 
					  def undeletable?(dir)
 | 
				
			||||||
    UNDELETABLE_DIRS.any? { |u| File.identical?(u, dir) }
 | 
					    UNDELETABLE_DIRS.include?(Pathname.new(dir).expand_path)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  alias release version
 | 
					  alias release version
 | 
				
			||||||
 | 
				
			|||||||
@ -133,7 +133,7 @@ describe Hbc::SystemCommand do
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it "returns without deadlocking" do
 | 
					    it "returns without deadlocking" do
 | 
				
			||||||
      wait(10).for {
 | 
					      wait(15).for {
 | 
				
			||||||
        shutup { described_class.run(command, options) }
 | 
					        shutup { described_class.run(command, options) }
 | 
				
			||||||
      }.to be_a_success
 | 
					      }.to be_a_success
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
require "test_helper"
 | 
					require "test_helper"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe "Cask" do
 | 
					describe "Cask" do
 | 
				
			||||||
 | 
					  hbc_relative_tap_path = "../../Taps/caskroom/homebrew-cask"
 | 
				
			||||||
  describe "load" do
 | 
					  describe "load" do
 | 
				
			||||||
    it "returns an instance of the Cask for the given token" do
 | 
					    it "returns an instance of the Cask for the given token" do
 | 
				
			||||||
      c = Hbc.load("adium")
 | 
					      c = Hbc.load("adium")
 | 
				
			||||||
@ -9,14 +10,14 @@ describe "Cask" do
 | 
				
			|||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it "returns an instance of the Cask from a specific file location" do
 | 
					    it "returns an instance of the Cask from a specific file location" do
 | 
				
			||||||
      location = File.expand_path("./Casks/dia.rb")
 | 
					      location = File.expand_path(hbc_relative_tap_path + "/Casks/dia.rb")
 | 
				
			||||||
      c = Hbc.load(location)
 | 
					      c = Hbc.load(location)
 | 
				
			||||||
      c.must_be_kind_of(Hbc::Cask)
 | 
					      c.must_be_kind_of(Hbc::Cask)
 | 
				
			||||||
      c.token.must_equal("dia")
 | 
					      c.token.must_equal("dia")
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it "returns an instance of the Cask from a url" do
 | 
					    it "returns an instance of the Cask from a url" do
 | 
				
			||||||
      url = "file://" + File.expand_path("./Casks/dia.rb")
 | 
					      url = "file://" + File.expand_path(hbc_relative_tap_path + "/Casks/dia.rb")
 | 
				
			||||||
      c = shutup do
 | 
					      c = shutup do
 | 
				
			||||||
        Hbc.load(url)
 | 
					        Hbc.load(url)
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
@ -26,7 +27,7 @@ describe "Cask" do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    it "raises an error when failing to download a Cask from a url" do
 | 
					    it "raises an error when failing to download a Cask from a url" do
 | 
				
			||||||
      lambda {
 | 
					      lambda {
 | 
				
			||||||
        url = "file://" + File.expand_path("./Casks/notacask.rb")
 | 
					        url = "file://" + File.expand_path(hbc_relative_tap_path + "/Casks/notacask.rb")
 | 
				
			||||||
        shutup do
 | 
					        shutup do
 | 
				
			||||||
          Hbc.load(url)
 | 
					          Hbc.load(url)
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
@ -34,7 +35,7 @@ describe "Cask" do
 | 
				
			|||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it "returns an instance of the Cask from a relative file location" do
 | 
					    it "returns an instance of the Cask from a relative file location" do
 | 
				
			||||||
      c = Hbc.load("./Casks/bbedit.rb")
 | 
					      c = Hbc.load(hbc_relative_tap_path + "/Casks/bbedit.rb")
 | 
				
			||||||
      c.must_be_kind_of(Hbc::Cask)
 | 
					      c.must_be_kind_of(Hbc::Cask)
 | 
				
			||||||
      c.token.must_equal("bbedit")
 | 
					      c.token.must_equal("bbedit")
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
				
			|||||||
@ -1,94 +0,0 @@
 | 
				
			|||||||
require "test_helper"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
describe "Repo layout" do
 | 
					 | 
				
			||||||
  project_root = Pathname.new(File.expand_path("#{File.dirname(__FILE__)}/../"))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # TODO: a more clever way to do this would be to dispense with
 | 
					 | 
				
			||||||
  #       the imperfect IGNORE lists and read the actual repo
 | 
					 | 
				
			||||||
  #       contents by reading the output of "git ls-files"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # dot dirs are always a project of Dir.entries
 | 
					 | 
				
			||||||
  # other files are items that the developer hopefully has gitignored
 | 
					 | 
				
			||||||
  IGNORE_FILES = %w[
 | 
					 | 
				
			||||||
                   .
 | 
					 | 
				
			||||||
                   ..
 | 
					 | 
				
			||||||
                   .DS_Store
 | 
					 | 
				
			||||||
                   .bundle
 | 
					 | 
				
			||||||
                   .rubocop.yml
 | 
					 | 
				
			||||||
                   .rubocop_todo.yml
 | 
					 | 
				
			||||||
                   .ruby-version
 | 
					 | 
				
			||||||
                   coverage
 | 
					 | 
				
			||||||
                   vendor
 | 
					 | 
				
			||||||
                 ].freeze
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # the developer has hopefully gitignored these
 | 
					 | 
				
			||||||
  IGNORE_REGEXPS = [
 | 
					 | 
				
			||||||
                     %r{~$}, # emacs
 | 
					 | 
				
			||||||
                     %r{.sublime-\w+}, # Sublime Text
 | 
					 | 
				
			||||||
                   ].freeze
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  TOPLEVEL_DIRS = %w[
 | 
					 | 
				
			||||||
                    .git
 | 
					 | 
				
			||||||
                    .github
 | 
					 | 
				
			||||||
                    Casks
 | 
					 | 
				
			||||||
                    Formula
 | 
					 | 
				
			||||||
                    ci
 | 
					 | 
				
			||||||
                    cmd
 | 
					 | 
				
			||||||
                    developer
 | 
					 | 
				
			||||||
                    doc
 | 
					 | 
				
			||||||
                    lib
 | 
					 | 
				
			||||||
                    man
 | 
					 | 
				
			||||||
                    spec
 | 
					 | 
				
			||||||
                    test
 | 
					 | 
				
			||||||
                  ].freeze
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  TOPLEVEL_FILES = %w[
 | 
					 | 
				
			||||||
                     .editorconfig
 | 
					 | 
				
			||||||
                     .gitattributes
 | 
					 | 
				
			||||||
                     .gitignore
 | 
					 | 
				
			||||||
                     .rspec
 | 
					 | 
				
			||||||
                     .rubocop.yml
 | 
					 | 
				
			||||||
                     .simplecov
 | 
					 | 
				
			||||||
                     .travis.yml
 | 
					 | 
				
			||||||
                     CONDUCT.md
 | 
					 | 
				
			||||||
                     CONTRIBUTING.md
 | 
					 | 
				
			||||||
                     Gemfile
 | 
					 | 
				
			||||||
                     Gemfile.lock
 | 
					 | 
				
			||||||
                     LICENSE
 | 
					 | 
				
			||||||
                     README.md
 | 
					 | 
				
			||||||
                     Rakefile
 | 
					 | 
				
			||||||
                     tap_migrations.json
 | 
					 | 
				
			||||||
                     USAGE.md
 | 
					 | 
				
			||||||
                   ].freeze
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  describe "toplevel dir" do
 | 
					 | 
				
			||||||
    it "finds some files at the top level" do
 | 
					 | 
				
			||||||
      entries = Dir.entries(project_root)
 | 
					 | 
				
			||||||
      entries.length.must_be :>, 0
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    it "only finds expected files at the top level" do
 | 
					 | 
				
			||||||
      entries = Dir.entries(project_root) - IGNORE_FILES - TOPLEVEL_DIRS - TOPLEVEL_FILES
 | 
					 | 
				
			||||||
      IGNORE_REGEXPS.each do |regexp|
 | 
					 | 
				
			||||||
        entries.reject! { |elt| elt.match(regexp) }
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
      entries.must_equal []
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  describe "Casks dir" do
 | 
					 | 
				
			||||||
    it "finds some files in the Casks dir" do
 | 
					 | 
				
			||||||
      entries = Dir.entries(project_root.join("Casks"))
 | 
					 | 
				
			||||||
      entries.length.must_be :>, 0
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    it "only finds .rb files in the Casks dir" do
 | 
					 | 
				
			||||||
      entries = Dir.entries(project_root.join("Casks")) - IGNORE_FILES
 | 
					 | 
				
			||||||
      IGNORE_REGEXPS.each do |regexp|
 | 
					 | 
				
			||||||
        entries.reject! { |elt| elt.match(regexp) }
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
      entries.reject! { |elt| elt.match(%r{\.rb$}) }
 | 
					 | 
				
			||||||
      entries.must_equal []
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
@ -8,6 +8,7 @@ if ENV["COVERAGE"]
 | 
				
			|||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
project_root = Pathname.new(File.expand_path("../..", __FILE__))
 | 
					project_root = Pathname.new(File.expand_path("../..", __FILE__))
 | 
				
			||||||
 | 
					tap_root = Pathname.new(ENV["HOMEBREW_LIBRARY"]).join("Taps", "caskroom", "homebrew-cask")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# add Homebrew to load path
 | 
					# add Homebrew to load path
 | 
				
			||||||
$LOAD_PATH.unshift(File.expand_path("#{ENV['HOMEBREW_REPOSITORY']}/Library/Homebrew"))
 | 
					$LOAD_PATH.unshift(File.expand_path("#{ENV['HOMEBREW_REPOSITORY']}/Library/Homebrew"))
 | 
				
			||||||
@ -78,7 +79,7 @@ Hbc.default_tap = Tap.fetch("caskroom", "testcasks")
 | 
				
			|||||||
FileUtils.ln_s project_root.join("test", "support"), Tap::TAP_DIRECTORY.join("caskroom").tap(&:mkpath).join("homebrew-testcasks")
 | 
					FileUtils.ln_s project_root.join("test", "support"), Tap::TAP_DIRECTORY.join("caskroom").tap(&:mkpath).join("homebrew-testcasks")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# pretend that the caskroom/cask Tap is installed
 | 
					# pretend that the caskroom/cask Tap is installed
 | 
				
			||||||
FileUtils.ln_s project_root, Tap::TAP_DIRECTORY.join("caskroom").tap(&:mkpath).join("homebrew-cask")
 | 
					FileUtils.ln_s tap_root, Tap::TAP_DIRECTORY.join("caskroom").tap(&:mkpath).join("homebrew-cask")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# create cache directory
 | 
					# create cache directory
 | 
				
			||||||
Hbc.homebrew_cache = Pathname.new(TEST_TMPDIR).join("cache")
 | 
					Hbc.homebrew_cache = Pathname.new(TEST_TMPDIR).join("cache")
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user