コード例 #1
0
        public void LongModifiedFileIsfilteredOut()
        {
            // File is in repo in its shorter version, but now it has grown too large.
            using (var bob = new RepositorySetup("bob"))
            {
                const string fileName = "test.chorusTest";
                bob.ChangeFile(fileName, _goodData);
                var fullPathname = Path.Combine(bob.ProjectFolderConfig.FolderPath, fileName);
                var pathToRepo   = bob.Repository.PathToRepo + Path.DirectorySeparatorChar;
                bob.Repository.AddAndCheckinFile(fullPathname);
                bob.AssertLocalRevisionNumber(0);
                bob.AssertFileContents(fullPathname, _goodData);

                bob.ChangeFile(fileName, _longData);

                var config = bob.ProjectFolderConfig;
                config.ExcludePatterns.Clear();
                config.IncludePatterns.Clear();
                config.IncludePatterns.Add("**.chorusTest");

                var result = LargeFileFilter.FilterFiles(
                    bob.Repository,
                    config,
                    _handlersColl);
                bob.Repository.Commit(false, "test");
                bob.AssertLocalRevisionNumber(1);                 // 'forget' marks it as deleted in the repo.
                bob.AssertFileContents(fullPathname, _longData);

                Assert.IsFalse(string.IsNullOrEmpty(result));
                var shortpath = fullPathname.Replace(pathToRepo, "");
                Assert.IsTrue(config.ExcludePatterns.Contains(shortpath));
                Assert.IsFalse(config.IncludePatterns.Contains(shortpath));
            }
        }
コード例 #2
0
 public void HasFileHandlers_Validates_DoesNothing()
 {
     using (var bob = new RepositorySetup("bob"))
     {
         using (var cop = new CommitCop(bob.Repository, ChorusFileTypeHandlerCollection.CreateWithTestHandlerOnly(), bob.Progress))
         {
             bob.AddAndCheckinFile("test.chorusTest", "hello");
         }
         bob.AssertLocalRevisionNumber(0);
     }
 }
コード例 #3
0
ファイル: CommitCopTests.cs プロジェクト: sillsdev/chorus
 public void NoMatchingFileHandlers_DoesNothing()
 {
     using (var bob = new RepositorySetup("bob"))
     {
         using (var cop = new CommitCop(bob.Repository, ChorusFileTypeHandlerCollection.CreateWithTestHandlerOnly(), bob.Progress))
         {
             bob.AddAndCheckinFile("test.abc", "hello");
             Assert.That(cop.ValidationResult, Is.Null.Or.Empty);
         }
         bob.AssertLocalRevisionNumber(0);
     }
 }
コード例 #4
0
 public void Sync_ModifiedFileIsInvalid_CheckedInButThenBackedOut()
 {
     /*
      *      @  changeset:   2
      |  summary:     [Backout due to validation Failure]
      |
      |      o  changeset:   1
      |  summary:     missing checkin description
      |
      |      o  changeset:   0
      |      summary:     Add test.chorusTest
      */
     using (var bob = new RepositorySetup("bob"))
     {
         bob.AddAndCheckinFile("test.chorusTest", "original");
         bob.AssertLocalRevisionNumber(0);
         bob.ChangeFile("test.chorusTest", ChorusTestFileHandler.GetInvalidContents());
         bob.CheckinAndPullAndMerge();
         bob.AssertLocalRevisionNumber(2);
         bob.AssertHeadCount(1);
         bob.AssertLocalRevisionNumber(int.Parse(bob.Repository.GetTip().Number.LocalRevisionNumber));
         Debug.WriteLine(bob.Repository.GetLog(-1));
     }
 }
コード例 #5
0
ファイル: CommitCopTests.cs プロジェクト: sillsdev/chorus
 public void SecondCheckin_Invalid_BacksOut()
 {
     using (var bob = new RepositorySetup("bob"))
     {
         bob.AddAndCheckinFile("test.chorusTest", "hello");
         bob.ChangeFile("test.chorusTest", ChorusTestFileHandler.GetInvalidContents());
         using (var cop = new CommitCop(bob.Repository, ChorusFileTypeHandlerCollection.CreateWithTestHandlerOnly(), bob.Progress))
         {
             Assert.That(cop.ValidationResult, Is.Not.Null.And.Not.Empty);
             bob.Repository.Commit(false, "bad data");
         }
         Debug.WriteLine(bob.Repository.GetLog(-1));
         bob.AssertHeadCount(1);
         bob.AssertLocalRevisionNumber(2);
         bob.AssertFileContents("test.chorusTest", "hello");
     }
 }
コード例 #6
0
        public void Sync_ExistingRejectChangeSet_NotMergedIn()
        {
            using (var bob = new RepositorySetup("bob"))
            {
                bob.AddAndCheckinFile("test.txt", "original");

                bob.CreateRejectForkAndComeBack();

                bob.ChangeFileAndCommit("test.txt", "ok", "goodGuy");                 //move on so we have two distinct branches
                bob.AssertHeadCount(2);

                bob.CheckinAndPullAndMerge(null);

                Assert.AreEqual("goodGuy", bob.Repository.GetRevisionWorkingSetIsBasedOn().Summary);
                bob.AssertLocalRevisionNumber(3);
                bob.AssertHeadCount(2);
            }
        }
コード例 #7
0
ファイル: CommitCopTests.cs プロジェクト: sillsdev/chorus
 public void InitialFileCommit_Invalid_BacksOut()
 {
     using (var bob = new RepositorySetup("bob"))
     {
         bob.AddAndCheckinFile("validfile.chorustest", "valid contents");
         bob.ChangeFile("test.chorusTest", ChorusTestFileHandler.GetInvalidContents());
         using (var cop = new CommitCop(bob.Repository, ChorusFileTypeHandlerCollection.CreateWithTestHandlerOnly(), bob.Progress))
         {
             bob.Repository.AddAndCheckinFile("test.chorusTest");
             Assert.That(cop.ValidationResult, Does.Contain("Failed"));
         }
         Debug.WriteLine(bob.Repository.GetLog(-1));
         bob.AssertHeadCount(1);
         bob.AssertLocalRevisionNumber(2);
         bob.AssertFileDoesNotExistInRepository("test.chorusTest");
         bob.AssertFileExistsInRepository("validfile.chorustest");
     }
 }
コード例 #8
0
ファイル: CommitCopTests.cs プロジェクト: sillsdev/chorus
 public void HasFileHandlers_ValidCommit_Validates_DoesNothing()
 {
     using (var bob = new RepositorySetup("bob"))
     {
         bob.AddAndCheckinFile("test.chorusTest", "hello");
         using (var cop = new CommitCop(bob.Repository, ChorusFileTypeHandlerCollection.CreateWithTestHandlerOnly(), bob.Progress))
         {
             bob.ChangeFile("test.chorusTest", "aloha");
             bob.AddAndCheckinFile("test2.chorusTest", "hi");
             Assert.That(cop.ValidationResult, Is.Null.Or.Empty);
         }
         bob.AssertHeadCount(1);
         bob.AssertLocalRevisionNumber(1);
         bob.AssertFileExistsInRepository("test2.chorusTest");
         bob.AssertFileContents("test.chorusTest", "aloha");
         bob.AssertFileContents("test2.chorusTest", "hi");
     }
 }