protected override void DoTestSolution(params string[] fileSet) { using (TestPresentationMap.Cookie()) { base.DoTestSolution(fileSet); } }
protected override void DoTest(IProject project) { var swea = SolutionAnalysisService.GetInstance(Solution); #if RIDER using (TestPresentationMap.Cookie()) #else using (new TestPresentationMap()) #endif using (TestPsiConfigurationSettings.Instance.PersistCachesCookie()) using (swea.RunAnalysisCookie()) { Lifetimes.Using(lifetime => { ChangeSettingsTemporarily(lifetime).BoundStore.SetValue(HighlightingSettingsAccessor.AnalysisEnabled, AnalysisScope.SOLUTION); var files = swea.GetFilesToAnalyze().OrderBy(f => f.Name).ToList(); foreach (var file in files) { swea.AnalyzeInvisibleFile(file); } ExecuteWithGold(writer => { var highlightingSettingsManager = HighlightingSettingsManager.Instance; foreach (var file in files) { if (file.LanguageType.IsNullOrUnknown()) { continue; } var pf = file.ToProjectFile(); if (pf == null) { continue; } if (!pf.Location.Name.EndsWith(".cs")) { continue; } var process = new TestHighlightingDumper(file, writer, DaemonStageManager.GetInstance(Solution).Stages, (highlighting, settingsStore) => { var attribute = highlightingSettingsManager.GetHighlightingAttribute(highlighting); return(highlightingSettingsManager.GetSeverity(highlighting, settingsStore) != Severity.INFO || attribute.OverlapResolve != OverlapResolveKind.NONE); }, CSharpLanguage.Instance); process.DoHighlighting(DaemonProcessKind.VISIBLE_DOCUMENT); process.DoHighlighting(DaemonProcessKind.GLOBAL_WARNINGS); process.Dump(); writer.WriteLine(); } }); }); } }
protected override void DoTest(IProject project) { var swea = SolutionAnalysisService.GetInstance(Solution); using (TestPresentationMap.Cookie()) using (TestPsiConfigurationSettings.Instance.PersistCachesCookie()) using (swea.RunAnalysisCookie()) { Lifetime.Using(lifetime => { ChangeSettingsTemporarily(lifetime).BoundStore.SetValue(HighlightingSettingsAccessor.AnalysisEnabled, AnalysisScope.SOLUTION); var files = swea.GetFilesToAnalyze().OrderBy(f => f.Name).ToList(); foreach (var file in files) { swea.AnalyzeInvisibleFile(file); } ExecuteWithGold(this.TestMethodName + ".cs", writer => { foreach (var file in files) { if (file.LanguageType.IsNullOrUnknown()) { continue; } var pf = file.ToProjectFile(); if (pf == null) { continue; } if (!pf.Location.Name.EndsWith(".cs")) { continue; } var process = new TestHighlightingDumper(file, writer, DaemonStageManager.GetInstance(Solution).Stages, (highlighting, psiSourceFile, settingsStore) => { return(highlighting is PerformanceHighlightingBase); }, CSharpLanguage.Instance); process.DoHighlighting(DaemonProcessKind.VISIBLE_DOCUMENT); process.DoHighlighting(DaemonProcessKind.GLOBAL_WARNINGS); process.Dump(); } }); }); } }
protected override void DoTest(Lifetime lifetime, IProject testProject) { var position = GetCaretPosition(); IProjectFile item; if (position == null) { item = testProject.GetSubItemsRecursively().OfType <IProjectFile>().First("No project file"); } else { item = (IProjectFile)testProject.FindProjectItemsByLocation(position.FileName) .Single("No project file", "More than one project file"); } var swea = SolutionAnalysisService.GetInstance(Solution); Assert.IsTrue(item.Kind == ProjectItemKind.PHYSICAL_FILE); using (TestPresentationMap.Cookie()) using (swea.RunAnalysisCookie()) { using (var definition = Lifetime.Define(lifetime)) { var boundstore = ChangeSettingsTemporarily(definition.Lifetime).BoundStore; boundstore.SetValue(HighlightingSettingsAccessor.CalculateUnusedTypeMembers, InplaceUsageAnalysis); ITextControl textControl = position != null ? OpenTextControl(definition.Lifetime, position) : OpenTextControl(definition.Lifetime, item); { swea.ReanalyzeFile(item.ToSourceFile()); using (CompilationContextCookie.GetOrCreate(textControl.GetContext(Solution))) { ExecuteWithGold(item, writer => { var highlightings = GetHighlightings(textControl); DumpQuickFixesAvailability(writer, highlightings, textControl, Solution); }); } } } } }
protected override void DoTest(Lifetime lifetime, IProject project) { var swea = SolutionAnalysisService.GetInstance(Solution); using (TestPresentationMap.Cookie()) using (TestPsiConfigurationSettings.Instance.PersistCachesCookie()) using (swea.RunAnalysisCookie()) { ChangeSettingsTemporarily(lifetime).BoundStore.SetValue((UnitySettings key) => key.PerformanceHighlightingMode, PerformanceHighlightingMode.Always); var files = swea.GetFilesToAnalyze().OrderBy(f => f.Name).ToList(); swea.ReanalyzeAll(); ExecuteWithGold(TestMethodName + ".cs", writer => { foreach (var file in files) { if (file.LanguageType.IsNullOrUnknown()) { continue; } var pf = file.ToProjectFile(); if (pf == null) { continue; } if (!pf.Location.Name.EndsWith(".cs")) { continue; } var process = new TestHighlightingDumperWithOverridenStages(file, writer, DaemonStageManager.GetInstance(Solution).Stages, HighlightingPredicate, CSharpLanguage.Instance); process.DoHighlighting(DaemonProcessKind.VISIBLE_DOCUMENT); process.DoHighlighting(DaemonProcessKind.GLOBAL_WARNINGS); process.Dump(); } }); } }