Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2sharp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Dahlby <dahlbyk@gmail.com>2014-01-11 08:57:55 +0400
committerKeith Dahlby <dahlbyk@gmail.com>2015-06-17 22:47:20 +0300
commitcbea359a02d73f9c0ba292568f3a6f741aad58e7 (patch)
treee41ef82a22d13c1645957356522703a7a935322d
parent3feeb01afd072bef4edd6e5e735d35c23505f516 (diff)
Add test for sm_branch_only
-rw-r--r--LibGit2Sharp.Tests/SubmoduleFixture.cs30
1 files changed, 29 insertions, 1 deletions
diff --git a/LibGit2Sharp.Tests/SubmoduleFixture.cs b/LibGit2Sharp.Tests/SubmoduleFixture.cs
index d60e61f3..58c8a830 100644
--- a/LibGit2Sharp.Tests/SubmoduleFixture.cs
+++ b/LibGit2Sharp.Tests/SubmoduleFixture.cs
@@ -20,6 +20,26 @@ namespace LibGit2Sharp.Tests
}
}
+ [Fact]
+ public void RetrievingSubmoduleInBranchShouldWork()
+ {
+ var path = SandboxSubmoduleTestRepo();
+ using (var repo = new Repository(path))
+ {
+ var submodule = repo.Submodules["sm_branch_only"];
+ Assert.Null(submodule);
+
+ repo.Checkout("dev", new CheckoutOptions { CheckoutModifiers = CheckoutModifiers.Force });
+ submodule = repo.Submodules["sm_branch_only"];
+ Assert.NotNull(submodule);
+ Assert.NotEqual(SubmoduleStatus.Unmodified, submodule.RetrieveStatus());
+
+ repo.Checkout("master", new CheckoutOptions { CheckoutModifiers = CheckoutModifiers.Force });
+ submodule = repo.Submodules["sm_branch_only"];
+ Assert.Null(submodule);
+ }
+ }
+
[Theory]
[InlineData("sm_added_and_uncommited", SubmoduleStatus.InConfig | SubmoduleStatus.InIndex | SubmoduleStatus.InWorkDir | SubmoduleStatus.IndexAdded)]
[InlineData("sm_changed_file", SubmoduleStatus.InConfig | SubmoduleStatus.InHead | SubmoduleStatus.InIndex | SubmoduleStatus.InWorkDir | SubmoduleStatus.WorkDirFilesModified)]
@@ -29,12 +49,20 @@ namespace LibGit2Sharp.Tests
[InlineData("sm_gitmodules_only", SubmoduleStatus.InConfig)]
[InlineData("sm_missing_commits", SubmoduleStatus.InConfig | SubmoduleStatus.InHead | SubmoduleStatus.InIndex | SubmoduleStatus.InWorkDir | SubmoduleStatus.WorkDirModified)]
[InlineData("sm_unchanged", SubmoduleStatus.InConfig | SubmoduleStatus.InHead | SubmoduleStatus.InIndex | SubmoduleStatus.InWorkDir)]
- public void CanRetrieveTheStatusOfASubmodule(string name, SubmoduleStatus expectedStatus)
+ [InlineData("sm_branch_only", null)]
+ public void CanRetrieveTheStatusOfASubmodule(string name, SubmoduleStatus? expectedStatus)
{
var path = SandboxSubmoduleTestRepo();
using (var repo = new Repository(path))
{
var submodule = repo.Submodules[name];
+
+ if (expectedStatus == null)
+ {
+ Assert.Null(submodule);
+ return;
+ }
+
Assert.NotNull(submodule);
Assert.Equal(name, submodule.Name);
Assert.Equal(name, submodule.Path);