示例#1
0
        public void GitIgnoreParser_IsIgnored_ReturnsFalseWhenNoGitRepositoryIsFound(string relativePath)
        {
            // Arrange
            gitignore = new GitIgnoreParser();
            var directory = Path.GetTempPath();

            // Act
            gitignore.Directory = directory;
            var isIgnored = gitignore.IsIgnored(relativePath);

            Assert.False(isIgnored);
        }
示例#2
0
        public void GitIgnoreParser_IsIgnored_ReturnsTheCorrectValueForIgnoredFiles()
        {
            // Arrange
            var gitRoot = InitializeTempGitRepository();

            using (var writer = File.CreateText(Path.Join(gitRoot, ".gitignore")))
            {
                writer.Write(@"
                    # Advanced patterns
                    [Bb]in/
                    [Bb]uild[Ll]og.*
                    [Ll]og/
                    *.pyc
                    **/Properties/launchSettings.json
                    *.tmp.*.js
                ");
            }

            gitignore = new GitIgnoreParser()
            {
                Directory = gitRoot,
            };

            // Assert
            Assert.True(gitignore.IsIgnored("Bin/somefile.dll"));
            Assert.True(gitignore.IsIgnored("bin/somefile.dll"));
            Assert.True(gitignore.IsIgnored("something/bin/something/test.dll"));
            Assert.True(gitignore.IsIgnored("Buildlog.something.txt"));
            Assert.True(gitignore.IsIgnored("src/docker/watcher.pyc"));
            Assert.True(gitignore.IsIgnored("in/some/nested/folder/Properties/launchSettings.json"));
            Assert.True(gitignore.IsIgnored("test.tmp.backup.js"));

            Assert.False(gitignore.IsIgnored("src/docker/watcher.py"));
            Assert.False(gitignore.IsIgnored("Blog/something/something.c"));
            Assert.False(gitignore.IsIgnored("test/Analog/something.c"));
        }
示例#3
0
        public void GitIgnoreParser_IsIgnored_ReturnsCorrectValueEvenIfGitRootIsInSomeParentDirectory(string path)
        {
            // Arrange
            var gitRoot = InitializeTempGitRepository();
            var full    = Path.Join(gitRoot, path);
            var info    = Directory.CreateDirectory(full);

            using (var writer = File.CreateText(Path.Join(gitRoot, ".gitignore")))
            {
                writer.Write("*.cs\n");
            }

            gitignore = new GitIgnoreParser()
            {
                Directory = full,
            };

            // Act
            var result = gitignore.IsIgnored("some/ignored/file.cs");

            // Assert
            Assert.True(result);
        }