File: ConvertToAsyncTests.cs
Web Access
Project: ..\..\..\src\EditorFeatures\CSharpTest\Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests.csproj (Microsoft.CodeAnalysis.CSharp.EditorFeatures.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);
        }
    }
}