File: src\Analyzers\CSharp\Tests\ConvertToAsync\ConvertToAsyncTests.cs
Web Access
Project: src\src\CodeStyle\CSharp\Tests\Microsoft.CodeAnalysis.CSharp.CodeStyle.UnitTests.csproj (Microsoft.CodeAnalysis.CSharp.CodeStyle.UnitTests)
// 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.
 
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CSharp.CodeFixes.ConvertToAsync;
using Microsoft.CodeAnalysis.Editor.UnitTests.CodeActions;
using Microsoft.CodeAnalysis.Test.Utilities;
using Microsoft.CodeAnalysis.Testing;
using Xunit;
 
namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.ConvertToAsync;
 
using VerifyCS = CSharpCodeFixVerifier<
    EmptyDiagnosticAnalyzer,
    CSharpConvertToAsyncMethodCodeFixProvider>;
 
public sealed class ConvertToAsyncTests
{
    [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsChangeToAsync)]
    public async Task CantAwaitAsyncVoid()
    {
        var initial =
            """
            using System.Threading.Tasks;
 
            class Program
            {
                async Task rtrt()
                {
                    {|CS4008:await gt()|};
                }
 
                async void gt()
                {
                }
            }
            """;
 
        var expected =
            """
            using System.Threading.Tasks;
 
            class Program
            {
                async Task rtrt()
                {
                    await gt();
                }
 
                async 
                Task
            gt()
                {
                }
            }
            """;
        await VerifyCS.VerifyCodeFixAsync(initial, expected);
    }
}