Esempio n. 1
0
 protected override void DoTestSolution(params string[] fileSet)
 {
     using (TestPresentationMap.Cookie())
     {
         base.DoTestSolution(fileSet);
     }
 }
Esempio n. 2
0
        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();
                                }
                            });
                        });
                    }
        }
Esempio n. 3
0
        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);
                                });
                            }
                        }
                    }
                }
        }
Esempio n. 5
0
        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();
                            }
                        });
                    }
        }