From 0915a61c19452e878b955fcb9cc8cb76f72c43a7 Mon Sep 17 00:00:00 2001
From: GOvEy1nw <45126527+GOvEy1nw@users.noreply.github.com>
Date: Thu, 30 Jul 2026 09:20:01 +0100
Subject: fix(images): narrow cache path test seam
---
src/Jellyfin.Drawing/ImageProcessor.cs | 35 +++++++++++++-------
.../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,22 +252,33 @@ public sealed class ImageProcessor : IImageProcessor, IDisposable
/// Gets the cache file path based on a set of parameters.
///
/// The original image path.
- /// The requested width.
- /// The requested height.
- /// The maximum width.
- /// The maximum height.
- /// The fill width.
- /// The fill height.
- /// The image quality.
/// The source image modification date.
/// The output format.
- /// The played percentage overlay value.
- /// The unwatched count overlay value.
- /// The blur amount.
- /// The background color.
- /// The foreground layer.
+ /// The image processing options.
/// The transformed image cache path.
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,
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);
+ }
}
--
cgit v1.2.3