diff options
| author | mansimarkaur | 2017-07-28 03:45:10 +0530 |
|---|---|---|
| committer | mansimarkaur | 2017-08-27 01:23:32 +0530 |
| commit | 660617a35b81ccb223682f2267cd641d7baf31c6 (patch) | |
| tree | 9f430d045fdbee624aa7e8f03637d99894c89701 /Library | |
| parent | 657b6ef7fb67231540bac9bcf4126ec27e8e1841 (diff) | |
| download | brew-660617a35b81ccb223682f2267cd641d7baf31c6.tar.bz2 | |
Added tests for Utils
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/test/utils/git_spec.rb | 116 |
1 files changed, 113 insertions, 3 deletions
diff --git a/Library/Homebrew/test/utils/git_spec.rb b/Library/Homebrew/test/utils/git_spec.rb index 39b28794a..37ca331e3 100644 --- a/Library/Homebrew/test/utils/git_spec.rb +++ b/Library/Homebrew/test/utils/git_spec.rb @@ -21,9 +21,9 @@ describe Git do let(:file) { "lib/blah.rb" } let(:repo) { Pathname.new("repo") } - # after(:all) do - # FileUtils.rm_rf("repo") - # end + after(:all) do + FileUtils.rm_rf("repo") + end describe "#last_revision_commit_of_file" do it "sets args as --skip=1 when before_commit is nil" do @@ -61,6 +61,116 @@ describe Utils do it "returns git version if already set" do described_class.instance_variable_set(:@git, true) expect(described_class.git_available?).to be_truthy + described_class.instance_variable_set(:@git, nil) + end + end + + describe "::git_path" do + context "when git is not available" do + before do + described_class.instance_variable_set(:@git, false) + end + + it "returns" do + expect(described_class.git_path).to eq(nil) + end + end + + context "when git is available" do + before do + described_class.instance_variable_set(:@git, true) + end + + it "returns path of git" do + expect(described_class.git_path).to eq("/Applications/Xcode.app/Contents/Developer/usr/bin/git") + end + + it "returns git_path if already set" do + described_class.instance_variable_set(:@git_path, "git") + expect(described_class.git_path).to eq("git") + described_class.instance_variable_set(:@git_path, nil) + end + end + end + + describe "::git_version" do + context "when git is not available" do + before do + described_class.instance_variable_set(:@git, false) + end + + it "returns" do + expect(described_class.git_path).to eq(nil) + end + end + + context "when git is available" do + before do + described_class.instance_variable_set(:@git, true) + end + + it "returns version of git" do + expect(described_class.git_version).not_to be_nil + end + + it "returns git_version if already set" do + described_class.instance_variable_set(:@git_version, "v1") + expect(described_class.git_version).to eq("v1") + described_class.instance_variable_set(:@git_version, nil) + end + end + end + + describe "::git_remote_exists" do + context "when git is not available" do + before do + described_class.instance_variable_set(:@git, false) + end + + it "returns true" do + expect(described_class.git_remote_exists("blah")).to be_truthy + end + end + + context "when git is available" do + before(:all) do + described_class.instance_variable_set(:@git, true) + git = HOMEBREW_SHIMS_PATH/"scm/git" + @repo = Pathname.new("hey") + FileUtils.mkpath("hey") + `cd #{@repo}` + `#{git} init` + `#{git} remote add origin git@github.com:Homebrew/brew` + `cd ..` + end + + after(:all) do + FileUtils.rm_rf(@repo) + end + + it "returns true when git remote exists" do + expect(described_class.git_remote_exists("git@github.com:Homebrew/brew")).to be_truthy + end + + it "returns false when git remote does not exist" do + expect(described_class.git_remote_exists("blah")).to be_falsey + end + end + end + + describe "::clear_git_available_cache" do + it "removes @git_path and @git_version if defined" do + described_class.clear_git_available_cache + expect(@git_path).to be_nil + expect(@git_version).to be_nil + end + + it "removes @git if defined" do + described_class.instance_variable_set(:@git, true) + described_class.clear_git_available_cache + expect(@git).to be_nil + expect(@git_path).to be_nil + expect(@git_version).to be_nil end end end |
