< Summary - Kestrun — Combined Coverage

Information
Class: Kestrun.Scripting.EndpointConventionBuilderLanguageExtensions
Assembly: Kestrun
File(s): /home/runner/work/Kestrun/Kestrun/src/CSharp/Kestrun/Scripting/EndpointConventionBuilderLanguageExtensions.cs
Tag: Kestrun/Kestrun@9d3a582b2d63930269564a7591aa77ef297cadeb
Line coverage
75%
Covered lines: 3
Uncovered lines: 1
Coverable lines: 4
Total lines: 25
Line coverage: 75%
Branch coverage
75%
Covered branches: 3
Total branches: 4
Branch coverage: 75%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
WithLanguage(...)75%4475%

File(s)

/home/runner/work/Kestrun/Kestrun/src/CSharp/Kestrun/Scripting/EndpointConventionBuilderLanguageExtensions.cs

#LineLine coverage
 1namespace Kestrun.Scripting;
 2
 3/// <summary>
 4/// Extension methods for <see cref="IEndpointConventionBuilder"/> to support script language metadata.
 5/// </summary>
 6public static class EndpointConventionBuilderLanguageExtensions
 7{
 8    /// <summary>
 9    /// Tags any endpoint builder with <see cref="ScriptLanguageAttribute"/>.
 10    /// Works for RouteHandlerBuilder, RouteGroupBuilder, etc.
 11    /// </summary>
 12    public static TBuilder WithLanguage<TBuilder>(
 13        this TBuilder builder, ScriptLanguage language)
 14        where TBuilder : IEndpointConventionBuilder
 15    {
 1016        if (builder is null)
 17        {
 018            throw new ArgumentNullException(nameof(builder));
 19        }
 20
 21        // IEndpointConventionBuilder exposes Add(Action<EndpointBuilder>)
 1022        builder.Add(ep => ep.Metadata.Add(new ScriptLanguageAttribute(language)));
 1023        return builder;   // keep fluent chaining
 24    }
 25}