29 lines
		
	
	
		
			859 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			859 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| require "cmd/shared_examples/args_parse"
 | |
| require "dev-cmd/create"
 | |
| 
 | |
| RSpec.describe Homebrew::DevCmd::Create do
 | |
|   let(:url) { "file://#{TEST_FIXTURE_DIR}/tarballs/testball-0.1.tbz" }
 | |
|   let(:formula_file) { CoreTap.instance.new_formula_path("testball") }
 | |
| 
 | |
|   it_behaves_like "parseable arguments"
 | |
| 
 | |
|   it "creates a new Formula file for a given URL", :integration_test do
 | |
|     brew "create", "--set-name=Testball", url, "HOMEBREW_EDITOR" => "/bin/cat"
 | |
| 
 | |
|     expect(formula_file).to exist
 | |
|     expect(formula_file.read).to match(%Q(sha256 "#{TESTBALL_SHA256}"))
 | |
|   end
 | |
| 
 | |
|   it "generates valid cask tokens" do
 | |
|     t = Cask::Utils.token_from("A FooBar_Baz++!")
 | |
|     expect(t).to eq("a-foobar-baz-plus-plus")
 | |
|   end
 | |
| 
 | |
|   it "retains @ in cask tokens" do
 | |
|     t = Cask::Utils.token_from("test@preview")
 | |
|     expect(t).to eq("test@preview")
 | |
|   end
 | |
| end
 | 
