From 1a794da1fe7f892fab1ea53aad9866c0fc018429 Mon Sep 17 00:00:00 2001 From: graciousgrey Date: Wed, 7 May 2025 12:03:50 +0200 Subject: [PATCH] Tests: Add unit tests #4969 --- internal/config/config_ffmpeg_test.go | 19 +++++++++++++++++++ internal/ffmpeg/encode/quality_test.go | 11 +++++++++++ 2 files changed, 30 insertions(+) diff --git a/internal/config/config_ffmpeg_test.go b/internal/config/config_ffmpeg_test.go index 820303ddd..80b195018 100644 --- a/internal/config/config_ffmpeg_test.go +++ b/internal/config/config_ffmpeg_test.go @@ -14,6 +14,8 @@ func TestConfig_FFmpegEncoder(t *testing.T) { assert.Equal(t, encode.DefaultAvcEncoder(), c.FFmpegEncoder()) c.options.FFmpegEncoder = "nvidia" assert.Equal(t, encode.NvidiaAvc, c.FFmpegEncoder()) + c.options.FFmpegEncoder = "libx264" + assert.Equal(t, encode.SoftwareAvc, c.FFmpegEncoder()) c.options.FFmpegEncoder = "intel" assert.Equal(t, encode.IntelAvc, c.FFmpegEncoder()) c.options.FFmpegEncoder = "xxx" @@ -76,6 +78,15 @@ func TestConfig_FFmpegSize(t *testing.T) { func TestConfig_FFmpegQuality(t *testing.T) { c := NewConfig(CliTestContext()) assert.Equal(t, encode.DefaultQuality, c.FFmpegQuality()) + + c.options.FFmpegQuality = 103 + assert.Equal(t, encode.BestQuality, c.FFmpegQuality()) + + c.options.FFmpegQuality = 1 + assert.Equal(t, 1, c.FFmpegQuality()) + + c.options.FFmpegQuality = 0 + assert.Equal(t, encode.DefaultQuality, c.FFmpegQuality()) } func TestConfig_FFmpegBitrateExceeded(t *testing.T) { @@ -84,6 +95,7 @@ func TestConfig_FFmpegBitrateExceeded(t *testing.T) { assert.False(t, c.FFmpegBitrateExceeded(0.95)) assert.False(t, c.FFmpegBitrateExceeded(1.05)) assert.False(t, c.FFmpegBitrateExceeded(2.05)) + assert.False(t, c.FFmpegBitrateExceeded(-1.02)) c.options.FFmpegBitrate = 1 assert.False(t, c.FFmpegBitrateExceeded(0.95)) assert.False(t, c.FFmpegBitrateExceeded(1.0)) @@ -102,6 +114,13 @@ func TestConfig_FFmpegBitrateExceeded(t *testing.T) { func TestConfig_FFmpegPreset(t *testing.T) { c := NewConfig(CliTestContext()) assert.Equal(t, encode.PresetFast, c.FFmpegPreset()) + + c.options.FFmpegPreset = "medium" + assert.Equal(t, encode.PresetMedium, c.FFmpegPreset()) + + c.options.FFmpegPreset = "fast" + assert.Equal(t, encode.PresetFast, c.FFmpegPreset()) + } func TestConfig_FFmpegDevice(t *testing.T) { diff --git a/internal/ffmpeg/encode/quality_test.go b/internal/ffmpeg/encode/quality_test.go index fb6106916..f743162ec 100644 --- a/internal/ffmpeg/encode/quality_test.go +++ b/internal/ffmpeg/encode/quality_test.go @@ -11,37 +11,48 @@ func TestConstantQuality(t *testing.T) { assert.Equal(t, "100", QvQuality(BestQuality)) assert.Equal(t, "50", QvQuality(DefaultQuality)) assert.Equal(t, "1", QvQuality(WorstQuality)) + assert.Equal(t, "50", QvQuality(-1)) + assert.Equal(t, "1", QvQuality(0)) + assert.Equal(t, "100", QvQuality(134)) }) } func TestGlobalQuality(t *testing.T) { t.Run("Defaults", func(t *testing.T) { + assert.Equal(t, "25", GlobalQuality(0)) assert.Equal(t, "1", GlobalQuality(BestQuality)) assert.Equal(t, "25", GlobalQuality(DefaultQuality)) assert.Equal(t, "49", GlobalQuality(WorstQuality)) + assert.Equal(t, "1", GlobalQuality(102)) }) } func TestCrfQuality(t *testing.T) { t.Run("Defaults", func(t *testing.T) { + assert.Equal(t, "25", CrfQuality(0)) assert.Equal(t, "0", CrfQuality(BestQuality)) assert.Equal(t, "25", CrfQuality(DefaultQuality)) assert.Equal(t, "49", CrfQuality(WorstQuality)) + assert.Equal(t, "0", CrfQuality(102)) }) } func TestQpQuality(t *testing.T) { t.Run("Defaults", func(t *testing.T) { + assert.Equal(t, "25", QpQuality(0)) assert.Equal(t, "0", QpQuality(BestQuality)) assert.Equal(t, "25", QpQuality(DefaultQuality)) assert.Equal(t, "49", QpQuality(WorstQuality)) + assert.Equal(t, "0", QpQuality(150)) }) } func TestCqQuality(t *testing.T) { t.Run("Defaults", func(t *testing.T) { + assert.Equal(t, "25", CqQuality(0)) assert.Equal(t, "1", CqQuality(BestQuality)) assert.Equal(t, "25", CqQuality(DefaultQuality)) assert.Equal(t, "49", CqQuality(WorstQuality)) + assert.Equal(t, "1", CqQuality(123)) }) }