Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }