Skip to content

Commit

Permalink
Add test for templated delegates
Browse files Browse the repository at this point in the history
  • Loading branch information
ltrzesniewski committed Dec 4, 2024
1 parent 8661d4b commit 1516301
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/RazorBlade.Analyzers.Tests/RazorBladeSourceGeneratorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,18 @@ @using System.Threading.Tasks
);
}

[Test]
public Task should_handle_templated_delegates()
{
return Verify(
"""
@using System
@{ Func<string, object> bold = @<b>@item</b>; }
@bold("Bold but not <i>italic</i>")
"""
);
}

private static GeneratorDriverRunResult Generate(string input,
string? csharpCode,
bool embeddedLibrary,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
//HintName: TestNamespace.TestFile.Razor.g.cs
#pragma checksum "./TestFile.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "e3c68a27bd0267aae003e34da6acc594dabfdc58"
// <auto-generated/>
#pragma warning disable 1591
namespace TestNamespace
{
#line hidden
#nullable restore
#line 1 "./TestFile.cshtml"
using System;

#line default
#line hidden
#nullable disable
#nullable restore
internal partial class TestFile : global::RazorBlade.HtmlTemplate
#nullable disable
{
#pragma warning disable 1998
protected async override global::System.Threading.Tasks.Task ExecuteAsync()
{
#nullable restore
#line 2 "./TestFile.cshtml"
Func<string, object> bold =

#line default
#line hidden
#nullable disable
item => new HelperResult(async(__razor_template_writer) => {
PushWriter(__razor_template_writer);
WriteLiteral("<b>");
#nullable restore
#line (2,37)-(2,41) 6 "./TestFile.cshtml"
Write(item);

#line default
#line hidden
#nullable disable
WriteLiteral("</b>");
PopWriter();
}
)
#nullable restore
#line 2 "./TestFile.cshtml"
;

#line default
#line hidden
#nullable disable
#nullable restore
#line (3,2)-(3,36) 6 "./TestFile.cshtml"
Write(bold("Bold but not <i>italic</i>"));

#line default
#line hidden
#nullable disable
}
#pragma warning restore 1998
}
}
#pragma warning restore 1591

0 comments on commit 1516301

Please sign in to comment.