private static void ClassifyFile(MarkdownTestFilesFixture fixture, string fileName) { string testFile = fixture.GetDestinationPath(fileName); string content = fixture.LoadDestinationFile(fileName); TextBufferMock textBuffer = new TextBufferMock(content, MdContentTypeDefinition.ContentType); MdClassifierProvider classifierProvider = new MdClassifierProvider(); EditorShell.Current.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) { // Update this to your actual enlistment if you need to update baseline string enlistmentPath = @"F:\RTVS\src\Markdown\Editor\Test\Files\Classification"; baselineFile = Path.Combine(enlistmentPath, Path.GetFileName(testFile)) + ".colors"; TestFiles.UpdateBaseline(baselineFile, actual); } else { TestFiles.CompareToBaseLine(baselineFile, actual); } }
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); } }
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); } }
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); } }
private IClassifier GetClassifier(string content, out ITextBuffer textBuffer) { textBuffer = _tbfs.CreateTextBuffer(new ContentTypeMock(MdContentTypeDefinition.ContentType)); textBuffer.Insert(0, content); MdClassifierProvider classifierProvider = new MdClassifierProvider(_crs, _ctrs, _cnp, _exportProvider.GetExportedValue<ICoreShell>()); return classifierProvider.GetClassifier(textBuffer); }
private IClassifier GetClassifier(string content, out ITextBuffer textBuffer) { textBuffer = _tbfs.CreateTextBuffer(new ContentTypeMock(MdContentTypeDefinition.ContentType)); textBuffer.Insert(0, content); MdClassifierProvider classifierProvider = new MdClassifierProvider(_crs, _ctrs, _cnp); return(classifierProvider.GetClassifier(textBuffer)); }
public void Markdown_InvalidateCodeTest() { string content = "```{r}#R\n```"; var factory = EditorShell.Current.ExportProvider.GetExportedValue <ITextBufferFactoryService>(); ITextBuffer textBuffer = factory.CreateTextBuffer(new ContentTypeMock(MdContentTypeDefinition.ContentType)); textBuffer.Insert(0, content); var crs = EditorShell.Current.ExportProvider.GetExportedValue <IClassificationTypeRegistryService>(); var ctrs = EditorShell.Current.ExportProvider.GetExportedValue <IContentTypeRegistryService>(); var cnp = EditorShell.Current.ExportProvider.GetExports <IClassificationNameProvider, IComponentContentTypes>(); MdClassifierProvider classifierProvider = new MdClassifierProvider(crs, ctrs, cnp); IClassifier cls = classifierProvider.GetClassifier(textBuffer); string actual = GetSpans(cls, textBuffer); actual.TrimEnd().Should().Be( @"[0:3] Markdown Code [6:2] comment [9:3] Markdown Code"); Typing.Type(textBuffer, 6, "\n"); actual = GetSpans(cls, textBuffer); actual.TrimEnd().Should().Be( @"[0:3] Markdown Code [7:2] comment [10:3] Markdown Code"); Typing.Delete(textBuffer, 4, 1); actual = GetSpans(cls, textBuffer); actual.TrimEnd().Should().Be( @"[0:3] Markdown Code [4:5] Markdown Code [9:3] Markdown Code"); Typing.Type(textBuffer, 4, "R"); actual = GetSpans(cls, textBuffer); actual.TrimEnd().Should().Be( @"[0:3] Markdown Code [7:2] comment [10:3] Markdown Code"); }
public void Markdown_InvalidateCodeTest() { string content = "```{r}#R\n```"; var factory = EditorShell.Current.ExportProvider.GetExportedValue<ITextBufferFactoryService>(); ITextBuffer textBuffer = factory.CreateTextBuffer(new ContentTypeMock(MdContentTypeDefinition.ContentType)); textBuffer.Insert(0, content); MdClassifierProvider classifierProvider = new MdClassifierProvider(); IClassifier cls = classifierProvider.GetClassifier(textBuffer); string actual = GetSpans(cls, textBuffer); actual.TrimEnd().Should().Be( @"[0:3] Markdown Code [6:2] comment [9:3] Markdown Code"); Typing.Type(textBuffer, 6, "\n"); actual = GetSpans(cls, textBuffer); actual.TrimEnd().Should().Be( @"[0:3] Markdown Code [7:2] comment [10:3] Markdown Code"); Typing.Delete(textBuffer, 4, 1); actual = GetSpans(cls, textBuffer); actual.TrimEnd().Should().Be( @"[0:3] Markdown Code [4:5] Markdown Code [9:3] Markdown Code"); Typing.Type(textBuffer, 4, "R"); actual = GetSpans(cls, textBuffer); actual.TrimEnd().Should().Be( @"[0:3] Markdown Code [7:2] comment [10:3] Markdown Code"); }