/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Workspaces/CSharpTest/Formatting/FormattingTreeEditTests.cs
69 строк
2 KB
Cyrus Najmabadi
Use raw strings in tests
09 июл 2025, 08:52
09 июл 2025, 08:52
f265dce
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable disable using System.Linq; using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.CSharp.Formatting; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Editing; using Microsoft.CodeAnalysis.Formatting; using Microsoft.CodeAnalysis.Text; using Xunit; namespace Microsoft.CodeAnalysis.CSharp.UnitTests.Formatting; public sealed class FormattingTreeEditTests : CSharpFormattingTestBase { private static Document GetDocument(string code) { var ws = new AdhocWorkspace(); var project = ws.AddProject("project", LanguageNames.CSharp); return project.AddDocument("code", SourceText.From(code)); } [Fact] public async Task SpaceAfterAttribute() { var code = """ public class C { void M(int? p) { } } """; var document = GetDocument(code); var g = SyntaxGenerator.GetGenerator(document); var root = await document.GetSyntaxRootAsync(); var attr = g.Attribute("MyAttr"); var options = CSharpSyntaxFormattingOptions.Default; var param = root.DescendantNodes().OfType<ParameterSyntax>().First(); var root1 = root.ReplaceNode(param, g.AddAttributes(param, g.Attribute("MyAttr"))); var result1 = Formatter.Format(root1, document.Project.Solution.Services, options, CancellationToken.None); Assert.Equal(""" public class C { void M([MyAttr] int? p) { } } """, result1.ToFullString()); // verify change doesn't affect how attributes appear before other kinds of declarations var method = root.DescendantNodes().OfType<MethodDeclarationSyntax>().First(); var root2 = root.ReplaceNode(method, g.AddAttributes(method, g.Attribute("MyAttr"))); var result2 = Formatter.Format(root2, document.Project.Solution.Services, options, CancellationToken.None); Assert.Equal(""" public class C { [MyAttr] void M(int? p) { } } """, result2.ToFullString()); } }