Skip to content

Commit

Permalink
Skip generating MSDI file if no handlers
Browse files Browse the repository at this point in the history
  • Loading branch information
viceroypenguin committed Nov 13, 2024
1 parent dbf6a3f commit 1693e6b
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ private static void RenderServiceCollectionExtension(
if (!hasDi)
return;

if (!handlers.Any())
return;

if (handlers.Any(h => h.displayName is null || (h.behaviors?.Any(b => b is null) ?? false)))
return;

Expand Down
21 changes: 21 additions & 0 deletions tests/Immediate.Handlers.Tests/GeneratorTests/HandlerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -271,4 +271,25 @@ private static ValueTask<int> HandleAsync(
_ = await Verify(result)
.UseParameters(string.Join("_", assemblies));
}

[Test]
[Arguments(DriverReferenceAssemblies.Msdi)]
public async Task NoHandlersGeneratesZeroFiles(DriverReferenceAssemblies assemblies)
{
var result = GeneratorTestHelper.RunGenerator(
"""
namespace Dummy;
public sealed class Test;
""",
assemblies
);

Assert.Empty(
result.GeneratedTrees
);

_ = await Verify(result)
.UseParameters(string.Join("_", assemblies));
}
}

0 comments on commit 1693e6b

Please sign in to comment.