diff options
author | Jameson Miller <jamill@microsoft.com> | 2012-11-05 21:04:29 +0400 |
---|---|---|
committer | nulltoken <emeric.fermas@gmail.com> | 2012-11-09 01:50:00 +0400 |
commit | a66d8ff7c0820aaacac63a5b2761facd7df7fee3 (patch) | |
tree | d15cc94462c78ca4f443f38bd03f0d84aafd7748 /LibGit2Sharp.Tests/BranchFixture.cs | |
parent | c05fc29aee3180aa3723f195c5c7e9a1f5f13037 (diff) |
Checkout is not allowed in a bare repository
Diffstat (limited to 'LibGit2Sharp.Tests/BranchFixture.cs')
-rw-r--r-- | LibGit2Sharp.Tests/BranchFixture.cs | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/LibGit2Sharp.Tests/BranchFixture.cs b/LibGit2Sharp.Tests/BranchFixture.cs index 3f5321ef..19601d39 100644 --- a/LibGit2Sharp.Tests/BranchFixture.cs +++ b/LibGit2Sharp.Tests/BranchFixture.cs @@ -421,17 +421,17 @@ namespace LibGit2Sharp.Tests } [Theory] - [InlineData("test")] - [InlineData("refs/heads/test")] - public void CanCheckoutAnExistingBranch(string name) + [InlineData("i-do-numbers")] + [InlineData("diff-test-cases")] + public void CanCheckoutAnExistingBranch(string branchName) { - TemporaryCloneOfTestRepo path = BuildTemporaryCloneOfTestRepo(); + TemporaryCloneOfTestRepo path = BuildTemporaryCloneOfTestRepo(StandardTestRepoWorkingDirPath); using (var repo = new Repository(path.RepositoryPath)) { Branch master = repo.Branches["master"]; Assert.True(master.IsCurrentRepositoryHead); - Branch branch = repo.Branches[name]; + Branch branch = repo.Branches[branchName]; Assert.NotNull(branch); Branch test = repo.Checkout(branch); @@ -446,17 +446,17 @@ namespace LibGit2Sharp.Tests } [Theory] - [InlineData("test")] - [InlineData("refs/heads/test")] - public void CanCheckoutAnExistingBranchByName(string name) + [InlineData("i-do-numbers")] + [InlineData("diff-test-cases")] + public void CanCheckoutAnExistingBranchByName(string branchName) { - TemporaryCloneOfTestRepo path = BuildTemporaryCloneOfTestRepo(); + TemporaryCloneOfTestRepo path = BuildTemporaryCloneOfTestRepo(StandardTestRepoWorkingDirPath); using (var repo = new Repository(path.RepositoryPath)) { Branch master = repo.Branches["master"]; Assert.True(master.IsCurrentRepositoryHead); - Branch test = repo.Checkout(name); + Branch test = repo.Checkout(branchName); Assert.False(repo.Info.IsHeadDetached); Assert.False(test.IsRemote); @@ -472,7 +472,7 @@ namespace LibGit2Sharp.Tests [InlineData("refs/tags/lw")] public void CanCheckoutAnArbitraryCommit(string commitPointer) { - TemporaryCloneOfTestRepo path = BuildTemporaryCloneOfTestRepo(); + TemporaryCloneOfTestRepo path = BuildTemporaryCloneOfTestRepo(StandardTestRepoWorkingDirPath); using (var repo = new Repository(path.RepositoryPath)) { Branch master = repo.Branches["master"]; @@ -480,26 +480,36 @@ namespace LibGit2Sharp.Tests Branch detachedHead = repo.Checkout(commitPointer); + Assert.Equal(repo.Head, detachedHead); + Assert.Equal(repo.Lookup(commitPointer).Sha, detachedHead.Tip.Sha); + Assert.True(repo.Head.IsCurrentRepositoryHead); Assert.True(repo.Info.IsHeadDetached); + Assert.True(detachedHead.IsCurrentRepositoryHead); Assert.False(detachedHead.IsRemote); Assert.Equal(detachedHead.Name, detachedHead.CanonicalName); - Assert.Equal("(no branch)", detachedHead.CanonicalName); - Assert.Equal(repo.Lookup(commitPointer).Sha, detachedHead.Tip.Sha); - Assert.Equal(repo.Head, detachedHead); + Assert.Equal("(no branch)", detachedHead.CanonicalName); Assert.False(master.IsCurrentRepositoryHead); - Assert.True(detachedHead.IsCurrentRepositoryHead); - Assert.True(repo.Head.IsCurrentRepositoryHead); } } [Fact] - public void CheckingOutANonExistingBranchThrows() + public void CheckingOutInABareRepoThrows() { using (var repo = new Repository(BareTestRepoPath)) { + Assert.Throws<InvalidOperationException>(() => repo.Checkout(repo.Branches["refs/heads/test"])); + Assert.Throws<InvalidOperationException>(() => repo.Checkout("refs/heads/test")); + } + } + + [Fact] + public void CheckingOutANonExistingBranchThrows() + { + using (var repo = new Repository(StandardTestRepoWorkingDirPath)) + { Assert.Throws<LibGit2SharpException>(() => repo.Checkout("i-do-not-exist")); } } @@ -507,7 +517,7 @@ namespace LibGit2Sharp.Tests [Fact] public void CheckingOutABranchWithBadParamsThrows() { - using (var repo = new Repository(BareTestRepoPath)) + using (var repo = new Repository(StandardTestRepoWorkingDirPath)) { Assert.Throws<ArgumentException>(() => repo.Checkout(string.Empty)); Assert.Throws<ArgumentNullException>(() => repo.Checkout(default(Branch))); |