Beispiel #1
0
        public void IndexFilterManager_ShouldFileBeIndexedReturnsTrueIfNoPathRegularExpressionsRuleMatches()
        {
            var testDirectoryName = "project";
            var testFileName      = "project\\index.xml";

            try
            {
                var indexFilterSettings = new IndexFilterSettings
                {
                    IgnoredPathRegularExpressions = new List <string> {
                        @"bin\\.*\.xml"
                    }
                };
                var logger             = CreateLog();
                var indexFilterManager = new IndexFilterManager(indexFilterSettings, logger);
                CreateTestDirectory(testDirectoryName);
                var fullFilePath = CreateTestFile(testFileName);
                var expected     = true;
                var actual       = indexFilterManager.ShouldFileBeIndexed(fullFilePath);
                Assert.AreEqual(expected, actual, "Invalid result from ShouldFileBeIndexed method!");
            }
            finally
            {
                DeleteTestFile(testFileName);
                DeleteTestDirectory(testDirectoryName);
            }
        }
Beispiel #2
0
        public void IndexFilterManager_ShouldFileBeIndexedReturnsFalseIfDirectoryRuleMatches()
        {
            var testDirectoryName = "bin";
            var testFileName      = "bin\\index.xml";

            try
            {
                var indexFilterSettings = new IndexFilterSettings
                {
                    IgnoredDirectories = new List <string> {
                        "bin", "obj"
                    }
                };
                var logger             = CreateLog();
                var indexFilterManager = new IndexFilterManager(indexFilterSettings, logger);
                CreateTestDirectory(testDirectoryName);
                var fullFilePath = CreateTestFile(testFileName);
                var expected     = false;
                var actual       = indexFilterManager.ShouldFileBeIndexed(fullFilePath);
                Assert.AreEqual(expected, actual, "Invalid result from ShouldFileBeIndexed method!");
            }
            finally
            {
                DeleteTestFile(testFileName);
                DeleteTestDirectory(testDirectoryName);
            }
        }
Beispiel #3
0
        public IndexFilterManager(IndexFilterSettings indexFilterSettings, ILog logger)
        {
            Contract.Requires(indexFilterSettings != null, "IndexFilterManager:Constructor - index filter settings cannot be null!");
            Contract.Requires(logger != null, "IndexFilterManager:Constructor - logger cannot be null!");

            IndexFilterSettings = indexFilterSettings;
            Logger = logger;
        }
Beispiel #4
0
        private static IndexFilterSettings GetDefaultIndexFilterSettings()
        {
            var indexFilterSettings = new IndexFilterSettings
            {
                IgnoredExtensions = new List <string>
                {
                    ".tmp",
                    ".db"
                },
                IgnoredDirectories = new List <string>
                {
                    "bin",
                    "obj",
                    ".hg"
                }
            };

            return(indexFilterSettings);
        }
Beispiel #5
0
        private static void SaveIndexFilterSettingsToFile(IndexFilterSettings currentFilterSettings, string indexStatePath)
        {
            if (currentFilterSettings == null)
            {
                return;
            }

            XmlSerializer xmlSerializer = null;
            TextWriter    textWriter    = null;

            try
            {
                xmlSerializer = new XmlSerializer(typeof(IndexFilterSettings));
                textWriter    = new StreamWriter(indexStatePath);
                xmlSerializer.Serialize(textWriter, currentFilterSettings);
            }
            finally
            {
                if (textWriter != null)
                {
                    textWriter.Close();
                }
            }
        }
Beispiel #6
0
        public void IndexFilterManager_ShouldFileBeIndexedReturnsTrueIfNoFileNameRuleMatches()
        {
            var testFileName = "index.xml";

            try
            {
                var indexFilterSettings = new IndexFilterSettings
                {
                    IgnoredFileNames = new List <string> {
                        "index.xaml", "debug.tmp"
                    }
                };
                var logger             = CreateLog();
                var indexFilterManager = new IndexFilterManager(indexFilterSettings, logger);
                var fullFilePath       = CreateTestFile(testFileName);
                var expected           = true;
                var actual             = indexFilterManager.ShouldFileBeIndexed(fullFilePath);
                Assert.AreEqual(expected, actual, "Invalid result from ShouldFileBeIndexed method!");
            }
            finally
            {
                DeleteTestFile(testFileName);
            }
        }