< Summary

Information
Class: UIBlazor.Components.Chat.DiffLine
Assembly: UIBlazor
File(s): /home/runner/work/InvAit/InvAit/UIBlazor/Components/Chat/DiffLine.razor
Tag: 14_22728831704
Line coverage
0%
Covered lines: 0
Uncovered lines: 19
Coverable lines: 19
Total lines: 43
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 14
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
BuildRenderTree(...)0%110100%
get_Model()100%210%
.ctor()100%210%
ShouldRender()0%2040%

File(s)

/home/runner/work/InvAit/InvAit/UIBlazor/Components/Chat/DiffLine.razor

#LineLine coverage
 1@using static UIBlazor.Components.Chat.DiffView
 2@{
 03    var css = Model.Type switch
 04    {
 05        DiffBlockType.SearchHeader => "diff-header-search",
 06        DiffBlockType.Separator => "diff-header-separator",
 07        DiffBlockType.ReplaceHeader => "diff-header-replace",
 08        DiffBlockType.Removed => "diff-line diff-line-removed",
 09        DiffBlockType.Added => "diff-line diff-line-added",
 010        _ => "diff-line-context"
 011    };
 12}
 13
 14<div class="@css">
 015    @if (Model.Type == DiffBlockType.Removed)
 16    {
 17        <span class="diff-marker">-</span>
 18    }
 019    @if (Model.Type == DiffBlockType.Added)
 20    {
 21        <span class="diff-marker">+</span>
 22    }
 023    @Model.Content
 24</div>
 25
 26@code {
 027    [Parameter] public DiffBlock Model { get; set; } = default!;
 28
 029    private string _lastContent = string.Empty;
 30    private DiffBlockType _lastType;
 31
 32    protected override bool ShouldRender()
 33    {
 34        // Рендерим ТОЛЬКО если контент или тип реально изменились
 035        if (Model.Content != _lastContent || Model.Type != _lastType)
 36        {
 037            _lastContent = Model.Content;
 038            _lastType = Model.Type;
 039            return true;
 40        }
 041        return false;
 42    }
 43}