diff options
| author | GOvEy1nw <45126527+GOvEy1nw@users.noreply.github.com> | 2026-07-30 09:20:01 +0100 |
|---|---|---|
| committer | GOvEy1nw <45126527+GOvEy1nw@users.noreply.github.com> | 2026-07-30 09:20:01 +0100 |
| commit | 0915a61c19452e878b955fcb9cc8cb76f72c43a7 (patch) | |
| tree | e1af5f155a165d96efae6a80d235dfa31e5869be | |
| parent | 3da05330b27dd94773c7fc1de0d44a65d0a978a7 (diff) | |
fix(images): narrow cache path test seam
| -rw-r--r-- | src/Jellyfin.Drawing/ImageProcessor.cs | 35 | ||||
| -rw-r--r-- | tests/Jellyfin.Server.Integration.Tests/ImageProcessorTests.cs | 37 |
2 files changed, 45 insertions, 27 deletions
diff --git a/src/Jellyfin.Drawing/ImageProcessor.cs b/src/Jellyfin.Drawing/ImageProcessor.cs index f906ad10ab..ad1b216970 100644 --- a/src/Jellyfin.Drawing/ImageProcessor.cs +++ b/src/Jellyfin.Drawing/ImageProcessor.cs @@ -252,23 +252,34 @@ public sealed class ImageProcessor : IImageProcessor, IDisposable /// Gets the cache file path based on a set of parameters. /// </summary> /// <param name="originalPath">The original image path.</param> - /// <param name="width">The requested width.</param> - /// <param name="height">The requested height.</param> - /// <param name="maxWidth">The maximum width.</param> - /// <param name="maxHeight">The maximum height.</param> - /// <param name="fillWidth">The fill width.</param> - /// <param name="fillHeight">The fill height.</param> - /// <param name="quality">The image quality.</param> /// <param name="dateModified">The source image modification date.</param> /// <param name="format">The output format.</param> - /// <param name="percentPlayed">The played percentage overlay value.</param> - /// <param name="unwatchedCount">The unwatched count overlay value.</param> - /// <param name="blur">The blur amount.</param> - /// <param name="backgroundColor">The background color.</param> - /// <param name="foregroundLayer">The foreground layer.</param> + /// <param name="options">The image processing options.</param> /// <returns>The transformed image cache path.</returns> internal string GetCacheFilePath( string originalPath, + DateTime dateModified, + ImageFormat format, + ImageProcessingOptions options) + => GetCacheFilePath( + originalPath, + options.Width, + options.Height, + options.MaxWidth, + options.MaxHeight, + options.FillWidth, + options.FillHeight, + options.Quality, + dateModified, + format, + options.PercentPlayed, + options.UnplayedCount, + options.Blur, + options.BackgroundColor, + options.ForegroundLayer); + + private string GetCacheFilePath( + string originalPath, int? width, int? height, int? maxWidth, diff --git a/tests/Jellyfin.Server.Integration.Tests/ImageProcessorTests.cs b/tests/Jellyfin.Server.Integration.Tests/ImageProcessorTests.cs index 1307a36f06..a1149ac9be 100644 --- a/tests/Jellyfin.Server.Integration.Tests/ImageProcessorTests.cs +++ b/tests/Jellyfin.Server.Integration.Tests/ImageProcessorTests.cs @@ -105,20 +105,27 @@ public sealed class ImageProcessorTests : IDisposable } private string GetCacheFilePath(double percentPlayed = 0, int? unwatchedCount = null) - => _imageProcessor.GetCacheFilePath( + { + var options = new ImageProcessingOptions + { + Width = 200, + Height = 300, + MaxWidth = 400, + MaxHeight = 500, + FillWidth = 600, + FillHeight = 700, + Quality = 90, + PercentPlayed = percentPlayed, + UnplayedCount = unwatchedCount, + Blur = 2, + BackgroundColor = "000000", + ForegroundLayer = "layer" + }; + + return _imageProcessor.GetCacheFilePath( OriginalPath, - width: 200, - height: 300, - maxWidth: 400, - maxHeight: 500, - fillWidth: 600, - fillHeight: 700, - quality: 90, - dateModified: _dateModified, - format: ImageFormat.Jpg, - percentPlayed, - unwatchedCount, - blur: 2, - backgroundColor: "000000", - foregroundLayer: "layer"); + _dateModified, + ImageFormat.Jpg, + options); + } } |
