< Summary - Jellyfin

Information
Class: MediaBrowser.Controller.Entities.Extensions
Assembly: MediaBrowser.Controller
File(s): /srv/git/jellyfin/MediaBrowser.Controller/Entities/Extensions.cs
Line coverage
81%
Covered lines: 9
Uncovered lines: 2
Coverable lines: 11
Total lines: 42
Line coverage: 81.8%
Branch coverage
33%
Covered branches: 2
Total branches: 6
Branch coverage: 33.3%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
AddTrailerUrl(...)33.33%6.22681.81%

File(s)

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

#LineLine coverage
 1using System;
 2using System.Linq;
 3using Jellyfin.Extensions;
 4using MediaBrowser.Model.Entities;
 5
 6namespace MediaBrowser.Controller.Entities
 7{
 8    /// <summary>
 9    /// Class Extensions.
 10    /// </summary>
 11    public static class Extensions
 12    {
 13        /// <summary>
 14        /// Adds the trailer URL.
 15        /// </summary>
 16        /// <param name="item">Media item.</param>
 17        /// <param name="url">Trailer URL.</param>
 18        public static void AddTrailerUrl(this BaseItem item, string url)
 19        {
 120            ArgumentException.ThrowIfNullOrEmpty(url);
 21
 122            var current = item.RemoteTrailers.FirstOrDefault(i => string.Equals(i.Url, url, StringComparison.OrdinalIgno
 23
 124            if (current is null)
 25            {
 126                var mediaUrl = new MediaUrl
 127                {
 128                    Url = url
 129                };
 30
 131                if (item.RemoteTrailers.Count == 0)
 32                {
 133                    item.RemoteTrailers = [mediaUrl];
 34                }
 35                else
 36                {
 037                    item.RemoteTrailers = [..item.RemoteTrailers, mediaUrl];
 38                }
 39            }
 040        }
 41    }
 42}