Пример #1
0
        public void StopStopsScanBeforeNextFile()
        {
            CodeSweep.VSPackage.BackgroundScanner_Accessor accessor = GetScanner();

            int          refreshes = 0;
            MockTaskList taskList  = _serviceProvider.GetService(typeof(SVsTaskList)) as MockTaskList;

            taskList.OnRefreshTasks +=
                delegate(object sender, MockTaskList.RefreshTasksArgs args)
            {
                ++refreshes;
            };

            string         firstFile  = Utilities.CreateBigFile();
            string         secondFile = Utilities.CreateTempTxtFile("bar bar bar floop doop bar");
            string         termTable  = Utilities.CreateTermTable(new string[] { "foo", "bar" });
            Project        project    = Utilities.SetupMSBuildProject(new string[] { firstFile, secondFile }, new string[] { termTable });
            MockIVsProject vsProject  = Utilities.RegisterProjectWithMocks(project, _serviceProvider);

            accessor.Start(new IVsProject[] { vsProject });
            accessor.StopIfRunning(true);

            // There should be one update, when the task list was initially cleared.
            Assert.AreEqual(1, refreshes, "Stop did not stop scan before next file.");
        }
Пример #2
0
        public void IsRunning()
        {
            CodeSweep.VSPackage.BackgroundScanner_Accessor accessor = GetScanner();

            int          refreshes = 0;
            MockTaskList taskList  = _serviceProvider.GetService(typeof(SVsTaskList)) as MockTaskList;

            taskList.OnRefreshTasks += delegate(object sender, MockTaskList.RefreshTasksArgs args) { ++refreshes; };

            string         firstFile  = Utilities.CreateBigFile();
            string         secondFile = Utilities.CreateTempTxtFile("bar bar bar floop doop bar");
            string         termTable  = Utilities.CreateTermTable(new string[] { "foo", "bar" });
            Project        project    = Utilities.SetupMSBuildProject(new string[] { firstFile, secondFile }, new string[] { termTable });
            MockIVsProject vsProject  = Utilities.RegisterProjectWithMocks(project, _serviceProvider);

            accessor.Start(new IVsProject[] { vsProject });

            Assert.IsTrue(accessor.IsRunning, "IsRunning was not true after Start.");

            accessor.StopIfRunning(false);

            Assert.IsTrue(accessor.IsRunning, "IsRunning was not true after Stop called while scan is still running.");
        }