Esempio n. 1
0
        private void ClassifyFile(MarkdownTestFilesFixture fixture, string fileName)
        {
            string testFile = fixture.GetDestinationPath(fileName);
            string content  = fixture.LoadDestinationFile(fileName);

            TextBufferMock textBuffer = new TextBufferMock(content, MdContentTypeDefinition.ContentType);

            var crs  = _exportProvider.GetExportedValue <IClassificationTypeRegistryService>();
            var ctrs = _exportProvider.GetExportedValue <IContentTypeRegistryService>();
            var cnp  = _exportProvider.GetExports <IClassificationNameProvider, IComponentContentTypes>();

            MdClassifierProvider classifierProvider = new MdClassifierProvider(crs, ctrs, cnp, _exportProvider.GetExportedValue <ICoreShell>());

            _exportProvider.GetExportedValue <ICoreShell>().CompositionService.SatisfyImportsOnce(classifierProvider);

            IClassifier cls = classifierProvider.GetClassifier(textBuffer);

            IList <ClassificationSpan> spans = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            string actual = ClassificationWriter.WriteClassifications(spans);

            string baselineFile = testFile + ".colors";

            if (_regenerateBaselineFiles)
            {
                baselineFile = Path.Combine(fixture.SourcePath, @"Classification\", Path.GetFileName(testFile)) + ".colors";
                TestFiles.UpdateBaseline(baselineFile, actual);
            }
            else
            {
                TestFiles.CompareToBaseLine(baselineFile, actual);
            }
        }
Esempio n. 2
0
        private void ClassifyFile(MarkdownTestFilesFixture fixture, string fileName)
        {
            var testFile = fixture.GetDestinationPath(fileName);
            var content  = fixture.LoadDestinationFile(fileName);

            var textBuffer = new TextBufferMock(content, MdContentTypeDefinition.ContentType);

            var crs  = _coreShell.GetService <IClassificationTypeRegistryService>();
            var ctrs = _coreShell.GetService <IContentTypeRegistryService>();
            var classifierProvider = new MdClassifierProvider(crs, ctrs);
            var cls = classifierProvider.GetClassifier(textBuffer);

            var spans        = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            var actual       = ClassificationWriter.WriteClassifications(spans);
            var baselineFile = testFile + ".colors";

            if (_regenerateBaselineFiles)
            {
                baselineFile = Path.Combine(fixture.SourcePath, @"Classification\", Path.GetFileName(testFile)) + ".colors";
                TestFiles.UpdateBaseline(baselineFile, actual);
            }
            else
            {
                TestFiles.CompareToBaseLine(baselineFile, actual);
            }
        }
Esempio n. 3
0
 public void RColors(string fileName)
 {
     using (var script = new TestScript(_files, fileName, unused: false)) {
         script.DoIdle(500);
         var spans  = script.GetClassificationSpans();
         var actual = ClassificationWriter.WriteClassifications(spans);
         VerifyClassifications(fileName, actual);
     }
 }
Esempio n. 4
0
        public async Task RColors(string fileName)
        {
            var content = _files.LoadDestinationFile(fileName);

            using (var script = await _editorHost.StartScript(_services, content, fileName, MdContentTypeDefinition.ContentType, null)) {
                script.DoIdle(500);
                var spans  = script.GetClassificationSpans();
                var actual = ClassificationWriter.WriteClassifications(spans);
                VerifyClassifications(fileName, actual);
            }
        }
Esempio n. 5
0
        public async Task RColors(string fileName)
        {
            string content = _files.LoadDestinationFile(fileName);

            using (var script = await _editorHost.StartScript(_exportProvider, content, fileName, null)) {
                script.DoIdle(500);
                var spans  = script.GetClassificationSpans();
                var actual = ClassificationWriter.WriteClassifications(spans);
                VerifyClassifications(fileName, actual);
            }
        }
Esempio n. 6
0
        public void ClassifyRContent()
        {
            string expected1 =
                @"[0:9] keyword
[9:1] RD Braces
[16:2] number
[19:1] number
[32:5] string";

            string expected2 =
                @"[0:9] keyword
[9:1] RD Braces
[16:2] number
[19:1] number
[32:6] string";

            string s1       = "\\examples{ x <- -9:9 plot(col = \"";
            string s2       = "red\")";
            string original = s1 + s2;

            TextBufferMock textBuffer = new TextBufferMock(original, RdContentTypeDefinition.ContentType);
            ClassificationTypeRegistryServiceMock ctrs = new ClassificationTypeRegistryServiceMock();
            RdClassifier cls = new RdClassifier(textBuffer, ctrs);

            IList <ClassificationSpan> spans = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            string actual = ClassificationWriter.WriteClassifications(spans);

            BaselineCompare.CompareStringLines(expected1, actual);

            textBuffer.Insert(s1.Length, "%");
            spans  = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            actual = ClassificationWriter.WriteClassifications(spans);
            BaselineCompare.CompareStringLines(expected2, actual);

            textBuffer.Delete(new Span(s1.Length, 1));
            spans  = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));
            actual = ClassificationWriter.WriteClassifications(spans);
            BaselineCompare.CompareStringLines(expected1, actual);
        }
Esempio n. 7
0
        private string GetSpans(IClassifier cls, ITextBuffer textBuffer)
        {
            IList <ClassificationSpan> spans = cls.GetClassificationSpans(new SnapshotSpan(textBuffer.CurrentSnapshot, new Span(0, textBuffer.CurrentSnapshot.Length)));

            return(ClassificationWriter.WriteClassifications(spans));
        }