示例#1
0
        public void FileChanged_Renamed_InvokesFileManager()
        {
            // Arrange
            var fileMonitor = new DummyFileMonitor();

            fileMonitor.WatchedFoldersAndPackages.Add(new MonitoredDirectory("~/ResourcePackages/My package/Mvc/Views/Layouts", true));
            var oldFilePath         = string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}\\ResourcePackages\\My package\\Mvc\\Views\\Layouts\\test.cshtml", fileMonitor.AppPhysicalPath);
            var expectedOldFilePath = "~/ResourcePackages/My package/Mvc/Views/Layouts/test.cshtml";

            var newFilePath         = string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}\\ResourcePackages\\My package\\Mvc\\Views\\Layouts\\renamedTest.cshtml", fileMonitor.AppPhysicalPath);
            var expectedNewFilePath = "~/ResourcePackages/My package/Mvc/Views/Layouts/renamedTest.cshtml";

            SystemManager.RunWithHttpContext(
                this.context,
                () =>
            {
                // Act
                fileMonitor.FileChangedTest(newFilePath, FileChangeType.Renamed, oldFilePath);
            });

            // Assert
            Assert.AreEqual(1, fileMonitor.ResourceFileManager.DummyFileInfos.Count(), "FileRenamed should be invoked.");
            Assert.AreEqual(FileChangeType.Renamed, fileMonitor.ResourceFileManager.DummyFileInfos.First().FileOperation, "FileRenamed should be invoked.");
            Assert.AreEqual("renamedTest.cshtml", fileMonitor.ResourceFileManager.DummyFileInfos.First().NewFileName, "FileRenamed is called with wrong file name.");
            Assert.AreEqual(expectedNewFilePath, fileMonitor.ResourceFileManager.DummyFileInfos.First().NewFilePath, "FileRenamed is called with wrong file path.");
            Assert.AreEqual("test.cshtml", fileMonitor.ResourceFileManager.DummyFileInfos.First().OldFileName, "FileRenamed is called with wrong old file name.");
            Assert.AreEqual(expectedOldFilePath, fileMonitor.ResourceFileManager.DummyFileInfos.First().OldFilePath, "FileRenamed is called with wrong old file path.");
            Assert.AreEqual("My package", fileMonitor.ResourceFileManager.DummyFileInfos.First().PackageName, "FileRenamed is called with wrong package name.");
        }
示例#2
0
        public void FileChanged_Deleted_InvokesFileManager()
        {
            //Arrange
            var fileMonitor = new DummyFileMonitor();

            fileMonitor.WatchedFoldersAndPackages.Add(new MonitoredDirectory("~/ResourcePackages/My package/Mvc/Views/Layouts", true));
            var filePath = fileMonitor.AppPhysicalPath + "\\ResourcePackages\\My package\\Mvc\\Views\\Layouts\\test.cshtml";

            SystemManager.RunWithHttpContext(this.context, () =>
            {
                //Act
                fileMonitor.FileChangedTest(filePath, FileChangeType.Deleted);
            });

            //Assert
            Assert.AreEqual(1, fileMonitor.ResourceFileManager.DummyFileInfos.Count(), "FileDeleted method should be called.");
            Assert.AreEqual(FileChangeType.Deleted, fileMonitor.ResourceFileManager.DummyFileInfos.First().FileOperation, "FileDeleted method should be called.");
            Assert.AreEqual(filePath, fileMonitor.ResourceFileManager.DummyFileInfos.First().NewFilePath, "FileDeleted is called with wrong file name.");
        }
示例#3
0
        public void Start_NonExistingDirectories_AddedInQueuedFoldersAndPackages()
        {
            //Arrange
            var packageFolderPath = "~/" + PackageManager.PackagesFolder;
            var baseMvcPath       = "~/Mvc/Views/Layouts";
            var fileMonitor       = new DummyFileMonitor();

            var directoriesInfo = new List <MonitoredDirectory>();

            directoriesInfo.Add(new MonitoredDirectory(packageFolderPath, true));
            directoriesInfo.Add(new MonitoredDirectory(baseMvcPath, false));

            //Act
            fileMonitor.Start(directoriesInfo);

            //Assert
            Assert.AreEqual(2, fileMonitor.QueuedFoldersAndPackages.Count(), "Both folders should be added in QueuedFoldersAndPackages");
            Assert.AreEqual(packageFolderPath, fileMonitor.QueuedFoldersAndPackages[0].Path, "The package folder path is not added correctly.");
            Assert.IsTrue(fileMonitor.QueuedFoldersAndPackages[0].IsPackage, "The values in QueuedFoldersAndPackages are not correct.");
            Assert.AreEqual(baseMvcPath, fileMonitor.QueuedFoldersAndPackages[1].Path, "The base Mvc folder path is not added correctly.");
            Assert.IsFalse(fileMonitor.QueuedFoldersAndPackages[1].IsPackage, "The values in QueuedFoldersAndPackages are not correct.");
        }