< Summary

Information
Class: Utility.Components.StringConverter.StringConverter
Assembly: Utility
File(s): /home/runner/work/Utility-Blazor/Utility-Blazor/src/Utility/Components/StringConverter/StringConverter.razor
Tag: 231_14069517506
Line coverage
0%
Covered lines: 0
Uncovered lines: 36
Coverable lines: 36
Total lines: 111
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 40
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor()100%210%
Convert()0%1482380%
Clear()100%210%
Copy()100%210%
get_Name()100%210%

File(s)

/home/runner/work/Utility-Blazor/Utility-Blazor/src/Utility/Components/StringConverter/StringConverter.razor

#LineLine coverage
 1@using System.Text
 2@using Utility.Common;
 3@using System.Globalization
 4
 5@inject IJSRuntime JSRuntime
 6
 7<div class="container">
 8    <div class="row">
 9        <div class="col">
 10            <h2>String Converter</h2>
 11        </div>
 12    </div>
 13
 14    <div class="row">
 15        <div class="col">
 16            <h4>Selected - @choice.Name</h4>
 17            <EditForm Model="choice">
 18                <InputRadioGroup @bind-Value="choice.Name">
 019                    @foreach (var option in Options)
 020                    {
 21                        <InputRadio Value="option" /> @option <br />
 022                    }
 23                </InputRadioGroup>
 24            </EditForm>
 25        </div>
 26    </div>
 27
 28    <div class="row">
 29        <div class="col">
 30            <div class="input-group">
 31                <textarea id="stringconverter" class="form-control" rows="5">@Input</textarea>
 32                <span class="input-group-btn">
 33                    <button id="btnStringConverter" name="btnStringConverter" class="btn btn-success float-right" @oncli
 34                    <button id="btnClearStringConverter" name="btnClearStringConverter" class="btn btn-danger float-righ
 35                </span>
 36            </div>
 37
 38        </div>
 39    </div>
 40
 41    <div class="row">
 42        <div class="col">
 43            <div class="input-group">
 44                <textarea id="outputStringConverter" class="form-control" rows="5" @bind="Output"></textarea>
 45                <span class="input-group-btn">
 46                    <button id="btnCopyStringConverter" name="btnCopyStringConverter" class="btn btn-info float-right" @
 47                </span>
 48            </div>
 49        </div>
 50    </div>
 51
 52</div>
 53
 54@code {
 055    string Input = "the quick brown fox jumps over the lazy dog"; //string.Empty;
 056    string Output = string.Empty;
 57
 058    Choice choice = new Choice()
 059    {
 060        Name = "Sentence case"
 061    };
 062    List<string> Options = new List<string> { "Sentence case", "lower case", "UPPER CASE", "Capitalized Case", "aLtErNaT
 63
 64    private void Convert()
 065    {
 066        TextInfo ti = CultureInfo.CurrentCulture.TextInfo;
 67
 068        switch (choice.Name)
 69        {
 70            case "Sentence case":
 071                Output = Input.FirstCharToUpper();
 072                break;
 73            case "lower case":
 074                Output = Input.ToLower();
 075                break;
 76            case "UPPER CASE":
 077                Output = Input.ToUpper();
 078                break;
 79            case "Capitalized Case":
 080                Output = ti.ToTitleCase(Input);
 081                break;
 82            case "aLtErNaTiNg cAsE":
 083                break;
 84            case "Title Case":
 085                Output = ti.ToTitleCase(Input);
 086                break;
 87            case "InVeRsE CaSe":
 088                Output = Input.Invert();
 089                break;
 90            case "Remove Whitespace":
 091                Output = String.Concat(Input.Where(c => !Char.IsWhiteSpace(c)));
 092                break;
 93        }
 094    }
 95
 96    private void Clear()
 097    {
 098        Input = string.Empty;
 099    }
 100
 101    async Task Copy()
 0102    {
 0103        await JSRuntime.InvokeVoidAsync("navigator.clipboard.writeText", Output);
 0104    }
 105
 106    public class Choice
 107    {
 0108        public string Name { get; set; }
 109    }
 110
 111}