private async Task FormatDocXmlInDocumentAsync(Document document, CancellationToken cancellationToken) { var options = document.Project.Solution.Workspace.Options; if (!options.GetOption(DocXmlFormattingOptions.WrapColumn).HasValue) { options = options.WithChangedOption(DocXmlFormattingOptions.WrapColumn, await GetGuideColumnAsync(cancellationToken).ConfigureAwait(false)); } var changes = await DocXmlFormatter.FormatAsync(document, options, cancellationToken).ConfigureAwait(false); _ = await document.ApplyTextChangesAsync(changes, cancellationToken).ConfigureAwait(false); }
internal static void AssertFormat(string expectedText, string inputText, Func <OptionSet, OptionSet> updateOptions = null) { var workspace = new AdhocWorkspace(); var solution = workspace.CurrentSolution; var project = solution.AddProject("projectName", "assemblyName", LanguageNames.CSharp); var sourceText = SourceText.From(inputText); var document = project.AddDocument("name.cs", sourceText); var options = document.Project.Solution.Workspace.Options; if (updateOptions != null) { options = updateOptions(options); } #pragma warning disable VSTHRD002 // Avoid problematic synchronous waits var changes = DocXmlFormatter.FormatAsync(document, options).Result; #pragma warning restore VSTHRD002 // Avoid problematic synchronous waits var newSourceText = sourceText.WithChanges(changes); var outputText = newSourceText.ToString(); Assert.Equal(expectedText, outputText); }