diff --git a/src/EditorFeatures/CSharpTest/Formatting/FormattingEngineTestBase.cs b/src/EditorFeatures/CSharpTest/Formatting/FormattingEngineTestBase.cs index 1b24df7ee4fc28d57036f5d24a7bc220ffd86d17..2d01c4bc52cb0565be22b9b03edd8d837f68b7d8 100644 --- a/src/EditorFeatures/CSharpTest/Formatting/FormattingEngineTestBase.cs +++ b/src/EditorFeatures/CSharpTest/Formatting/FormattingEngineTestBase.cs @@ -74,8 +74,8 @@ protected async Task AssertFormatAsync(string expected, string code, IEnumerable // create new buffer with cloned content var clonedBuffer = EditorFactory.CreateBuffer( - buffer.ContentType.TypeName, workspace.ExportProvider, + buffer.ContentType, buffer.CurrentSnapshot.GetText()); var formattingRuleProvider = workspace.Services.GetService(); diff --git a/src/EditorFeatures/TestUtilities/EditorFactory.cs b/src/EditorFeatures/TestUtilities/EditorFactory.cs index cafe8baf3a076b090f3648807b637c5571910db4..714b41fca531a2fdd95799f01fc8b4ace0a3ddc6 100644 --- a/src/EditorFeatures/TestUtilities/EditorFactory.cs +++ b/src/EditorFeatures/TestUtilities/EditorFactory.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Text; +#nullable enable + using Microsoft.CodeAnalysis.Editor.UnitTests; using Microsoft.VisualStudio.Composition; using Microsoft.VisualStudio.Text; @@ -16,55 +17,42 @@ public static class EditorFactory ExportProvider exportProvider, params string[] lines) { - return CreateBuffer("text", exportProvider, lines); + var contentType = exportProvider.GetExportedValue().TextContentType; + + return CreateBuffer(exportProvider, contentType, lines); } public static ITextBuffer CreateBuffer( - string contentType, ExportProvider exportProvider, + IContentType contentType, params string[] lines) { var text = LinesToFullText(lines); - var intContentType = exportProvider.GetExportedValue().GetContentType(contentType); - var buffer = exportProvider.GetExportedValue().CreateTextBuffer(intContentType); - buffer.Replace(new Span(0, 0), text); - return buffer; + return exportProvider.GetExportedValue().CreateTextBuffer(text, contentType); } public static DisposableTextView CreateView( ExportProvider exportProvider, params string[] lines) { - return CreateView("text", exportProvider, lines); + var contentType = exportProvider.GetExportedValue().TextContentType; + return CreateView(exportProvider, contentType, lines); } public static DisposableTextView CreateView( - string contentType, ExportProvider exportProvider, + IContentType contentType, params string[] lines) { WpfTestRunner.RequireWpfFact($"Creates an {nameof(IWpfTextView)} through {nameof(EditorFactory)}.{nameof(CreateView)}"); - var buffer = CreateBuffer(contentType, exportProvider, lines); + var buffer = CreateBuffer(exportProvider, contentType, lines); return exportProvider.GetExportedValue().CreateDisposableTextView(buffer); } public static string LinesToFullText(params string[] lines) { - var builder = new StringBuilder(); - var isFirst = true; - foreach (var line in lines) - { - if (!isFirst) - { - builder.AppendLine(); - } - - isFirst = false; - builder.Append(line); - } - - return builder.ToString(); + return string.Join("\r\n", lines); } } } diff --git a/src/EditorFeatures/TestUtilities/Workspaces/TestWorkspace_XmlConsumption.cs b/src/EditorFeatures/TestUtilities/Workspaces/TestWorkspace_XmlConsumption.cs index 9efb97b7dc1728db8fd9e6a9fdd9589202f453dc..62208f03436b12956262486abb1890c05b9b1098 100644 --- a/src/EditorFeatures/TestUtilities/Workspaces/TestWorkspace_XmlConsumption.cs +++ b/src/EditorFeatures/TestUtilities/Workspaces/TestWorkspace_XmlConsumption.cs @@ -203,7 +203,7 @@ public static TestWorkspace Create(string xmlDefinition, bool completed = true, var contentTypeLanguageService = languageServices.GetService(); var contentType = contentTypeLanguageService.GetDefaultContentType(); - var textBuffer = EditorFactory.CreateBuffer(contentType.TypeName, exportProvider, code); + var textBuffer = EditorFactory.CreateBuffer(exportProvider, contentType, code); // The project @@ -748,7 +748,7 @@ private static CompilationOptions CreateCompilationOptions(TestWorkspace workspa // For linked files, use the same ITextBuffer for all linked documents if (!filePathToTextBufferMap.TryGetValue(filePath, out var textBuffer)) { - textBuffer = EditorFactory.CreateBuffer(contentType.TypeName, exportProvider, code); + textBuffer = EditorFactory.CreateBuffer(exportProvider, contentType, code); filePathToTextBufferMap.Add(filePath, textBuffer); } @@ -793,7 +793,7 @@ private static CompilationOptions CreateCompilationOptions(TestWorkspace workspa var documentServiceProvider = GetDocumentServiceProvider(documentElement); var contentTypeLanguageService = languageServiceProvider.GetService(); var contentType = contentTypeLanguageService.GetDefaultContentType(); - var textBuffer = EditorFactory.CreateBuffer(contentType.TypeName, exportProvider, code); + var textBuffer = EditorFactory.CreateBuffer(exportProvider, contentType, code); return new TestHostDocument( exportProvider, languageServiceProvider, textBuffer, filePath: string.Empty, cursorPosition, spans, codeKind, folders, isLinkFile: false, documentServiceProvider, roles: roles); diff --git a/src/EditorFeatures/VisualBasicTest/Formatting/VisualBasicFormatterTestBase.vb b/src/EditorFeatures/VisualBasicTest/Formatting/VisualBasicFormatterTestBase.vb index 8536d925ff90a4d9325ae90ef5a8a56a9aeec232..95e8a5420a18baf2fdb8c5f81b10e814d85e2ed9 100644 --- a/src/EditorFeatures/VisualBasicTest/Formatting/VisualBasicFormatterTestBase.vb +++ b/src/EditorFeatures/VisualBasicTest/Formatting/VisualBasicFormatterTestBase.vb @@ -28,7 +28,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Formatting Dim buffer = workspace.Documents.First().GetTextBuffer() ' create new buffer with cloned content - Dim clonedBuffer = EditorFactory.CreateBuffer(buffer.ContentType.TypeName, workspace.ExportProvider, buffer.CurrentSnapshot.GetText()) + Dim clonedBuffer = EditorFactory.CreateBuffer(workspace.ExportProvider, buffer.ContentType, buffer.CurrentSnapshot.GetText()) Dim document = workspace.CurrentSolution.GetDocument(hostdoc.Id) Dim syntaxTree = Await document.GetSyntaxTreeAsync()