< Summary

Information
Class: MyNet.Text.TextSlugificationExtensions
Assembly: MyNet.Text
File(s): https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Text/Extensions/TextSlugificationExtensions.cs
Tag: 323_28699572109
Line coverage
60%
Covered lines: 3
Uncovered lines: 2
Coverable lines: 5
Total lines: 48
Line coverage: 60%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Slugify(...)100%210%
Slugify(...)100%11100%
Slugify(...)100%22100%

File(s)

https://raw.githubusercontent.com/sandre58/MyNet/85372080fe102cd9ee155ceab49ae000e7f66103/src/MyNet.Text/Extensions/TextSlugificationExtensions.cs

#LineLine coverage
 1// -----------------------------------------------------------------------
 2// <copyright file="TextSlugificationExtensions.cs" company="Stéphane ANDRE">
 3// Copyright (c) Stéphane ANDRE. All rights reserved.
 4// </copyright>
 5// -----------------------------------------------------------------------
 6
 7using System;
 8using System.Globalization;
 9using MyNet.Primitives;
 10using MyNet.Text.Slugification;
 11
 12#pragma warning disable IDE0130 // Namespace does not match folder structure
 13namespace MyNet.Text;
 14#pragma warning restore IDE0130 // Namespace does not match folder structure
 15
 16public static class TextSlugificationExtensions
 17{
 18    extension(TextPipeline pipeline)
 19    {
 20        /// <summary>
 21        /// Applies a slugification transform to the pipeline.
 22        /// </summary>
 23        public TextPipeline Slugify(ITextSlugifierTransform transform)
 24        {
 025            ArgumentNullException.ThrowIfNull(transform);
 026            return pipeline.Apply(transform);
 27        }
 28    }
 29
 30    extension(string input)
 31    {
 32        /// <summary>
 33        /// Applies a slugification transform.
 34        /// </summary>
 35        public string Slugify(ITextSlugifierTransform transform, CultureInfo? culture = null)
 36        {
 1537            ArgumentNullException.ThrowIfNull(transform);
 1538            return transform.Apply(input, culture.OrCurrent());
 39        }
 40
 41        /// <summary>
 42        /// Converts text to a URL-friendly slug.
 43        /// </summary>
 44        public string Slugify(TextSlugifierOptions? options = null, CultureInfo? culture = null)
 945            => input.Slugify(new SlugifyTransform(options ?? new TextSlugifierOptions()), culture);
 46    }
 47}
 48