< Summary - Jellyfin

Information
Class: MediaBrowser.Controller.Entities.TagExtensions
Assembly: MediaBrowser.Controller
File(s): /srv/git/jellyfin/MediaBrowser.Controller/Entities/TagExtensions.cs
Line coverage
66%
Covered lines: 6
Uncovered lines: 3
Coverable lines: 9
Total lines: 34
Line coverage: 66.6%
Branch coverage
50%
Covered branches: 3
Total branches: 6
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 3/6/2026 - 12:14:09 AM Line coverage: 62.5% (5/8) Branch coverage: 50% (3/6) Total lines: 336/3/2026 - 12:16:02 AM Line coverage: 66.6% (6/9) Branch coverage: 50% (3/6) Total lines: 34 3/6/2026 - 12:14:09 AM Line coverage: 62.5% (5/8) Branch coverage: 50% (3/6) Total lines: 336/3/2026 - 12:16:02 AM Line coverage: 66.6% (6/9) Branch coverage: 50% (3/6) Total lines: 34

Coverage delta

Coverage delta 5 -5

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
AddTag(...)50%7666.66%

File(s)

/srv/git/jellyfin/MediaBrowser.Controller/Entities/TagExtensions.cs

#LineLine coverage
 1#pragma warning disable CS1591
 2
 3using System;
 4using System.Linq;
 5using Jellyfin.Extensions;
 6
 7namespace MediaBrowser.Controller.Entities
 8{
 9    public static class TagExtensions
 10    {
 11        public static void AddTag(this BaseItem item, string name)
 12        {
 213            if (string.IsNullOrWhiteSpace(name))
 14            {
 015                throw new ArgumentNullException(nameof(name));
 16            }
 17
 218            name = name.Trim();
 219            var current = item.Tags;
 20
 221            if (!current.Contains(name, StringComparison.OrdinalIgnoreCase))
 22            {
 223                if (current.Length == 0)
 24                {
 225                    item.Tags = [name];
 26                }
 27                else
 28                {
 029                    item.Tags = [.. current, name];
 30                }
 31            }
 032        }
 33    }
 34}