< Summary

Information
Class: Utility.Components.MarkdownConverter.MarkdownConverter
Assembly: Utility
File(s): /home/runner/work/Utility-Blazor/Utility-Blazor/src/Utility/Components/MarkdownConverter/MarkdownConverter.razor
Tag: 327_19881906754
Line coverage
42%
Covered lines: 9
Uncovered lines: 12
Coverable lines: 21
Total lines: 89
Line coverage: 42.8%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_HTML()100%11100%
get_Markdown()100%11100%
Convert()100%11100%
ClearHTML()100%210%
CopyHTML()100%210%
ClearMD()100%210%
CopyMD()100%210%

File(s)

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

#LineLine coverage
 1@inject IJSRuntime JSRuntime
 2
 3@using System.Net
 4
 5<div class="container">
 6    <div class="row">
 7        <div class="col">
 8            <h2>Markdown Converter</h2>
 9        </div>
 10    </div>
 11
 12    <div class="row">
 13        <div class="col">
 14            <textarea id="html" class="form-control" rows="5" @bind="HTML" placeholder="<html><body><h1>Hello</h1></body
 15        </div>
 16    </div>
 17    <div class="row">
 18        <div class="col">
 19            <button id="btnConvert" name="btnConvert" class="btn btn-success float-start" @onclick="Convert">Convert</bu
 20            <button id="btnClearHTML" name="btnClearHTML" class="btn btn-danger float-end" @onclick="ClearHTML"><i class
 21            <button id="btnCopyHTML" name="btnCopyHTML" class="btn btn-info float-end" @onclick="CopyHTML"><i class="far
 22        </div>
 23    </div>
 24    <div class="row">
 25        <div class="col">
 26            <textarea id="markdown" class="form-control" rows="5" @bind="Markdown" placeholder="# Hello"></textarea>
 27        </div>
 28    </div>
 29    <div class="row">
 30        <div class="col">
 31            <button id="btnClearMD" name="btnClearMD" class="btn btn-danger float-end" @onclick="ClearMD"><i class="far 
 32            <button id="btnCopyMD" name="btnCopyMD" class="btn btn-info float-end" @onclick="CopyMD"><i class="far fa-co
 33        </div>
 34    </div>
 35
 36    <hr/>
 37
 38    <div class="row">
 39        <div class="col">
 40            <p>Powered by <a href="https://github.com/mysticmind/reversemarkdown-net/" target="_blank">ReverseMarkdown</
 41        </div>
 42    </div>
 43</div>
 44
 45@code {
 46    [Parameter]
 2547    public string HTML { get; set; }
 48
 49    [Parameter]
 1950    public string Markdown { get; set; }
 51
 52    // protected override async Task OnInitializedAsync()
 53    // {
 54    //     // html = "&lt;html&gt;&lt;body&gt;&lt;h1&gt;Hello&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;";
 55    //     HTML = "<html><body><h1>Hello</h1></body></html>";
 56    //     Markdown = string.Empty;
 57    // }
 58
 59    private void Convert()
 360    {
 361        var writer = new StringWriter();
 362        WebUtility.HtmlDecode(HTML, writer);
 363        HTML = writer.ToString();
 64
 365        var converter = new ReverseMarkdown.Converter();
 366        Markdown = converter.Convert(HTML);
 367    }
 68
 69    private void ClearHTML()
 070    {
 071        HTML = string.Empty;
 072    }
 73
 74    async Task CopyHTML()
 075    {
 076        await JSRuntime.InvokeVoidAsync("navigator.clipboard.writeText", HTML);
 077    }
 78
 79    private void ClearMD()
 080    {
 081        Markdown = string.Empty;
 082    }
 83
 84    async Task CopyMD()
 085    {
 086        await JSRuntime.InvokeVoidAsync("navigator.clipboard.writeText", Markdown);
 087    }
 88
 89}