From 371943d1445d615072d96d7f96851ac52d291c38 Mon Sep 17 00:00:00 2001 From: nuxen <47067662+nuxencs@users.noreply.github.com> Date: Tue, 7 Mar 2023 19:50:38 +0100 Subject: [PATCH] fix(tags): `24bit Lossless` being tagged as `Lossless` (#743) * fix(tags): fixed `24bit Lossless` being tagged as `Lossless` added negation to the Lossless regex to prevent it from matching 24bit Lossless * fix(tests): modified test to reflect changes in regex --- internal/domain/release_test.go | 2 +- internal/domain/releasetags.go | 2 +- internal/domain/releasetags_test.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/domain/release_test.go b/internal/domain/release_test.go index bd13f25..f76126d 100644 --- a/internal/domain/release_test.go +++ b/internal/domain/release_test.go @@ -220,7 +220,7 @@ func TestRelease_Parse(t *testing.T) { ReleaseTags: "FLAC / 24bit Lossless / Log / 100% / Cue / CD", Title: "Artist", Group: "Albumname", - Audio: []string{"24BIT Lossless", "Cue", "FLAC", "Lossless", "Log100", "Log"}, + Audio: []string{"24BIT Lossless", "Cue", "FLAC", "Log100", "Log"}, Source: "CD", }, }, diff --git a/internal/domain/releasetags.go b/internal/domain/releasetags.go index 9b8d78f..b7457ab 100644 --- a/internal/domain/releasetags.go +++ b/internal/domain/releasetags.go @@ -42,7 +42,7 @@ func init() { {tag: "EX", title: "Dolby Digital (EX)", regexp: "(?-i:EX)", re: nil}, {tag: "FLAC", title: "Free Lossless Audio Codec", regexp: "", re: nil}, {tag: "LiNE", title: "Line", regexp: "(?-i:L[iI]NE)", re: nil}, - {tag: "Lossless", title: "", regexp: "(?i:Lossless)", re: nil}, + {tag: "Lossless", title: "", regexp: "(?i:(?:^|[^t] )Lossless)", re: nil}, {tag: "Log100", title: "", regexp: "(log 100%|log \\(100%\\))", re: nil}, {tag: "Log", title: "", regexp: "(?:log)", re: nil}, {tag: "LPCM", title: "Linear Pulse-Code Modulation", regexp: "", re: nil}, diff --git a/internal/domain/releasetags_test.go b/internal/domain/releasetags_test.go index 6bdc359..0e3c3bd 100644 --- a/internal/domain/releasetags_test.go +++ b/internal/domain/releasetags_test.go @@ -37,7 +37,7 @@ func TestParseReleaseTagString(t *testing.T) { {name: "music_1", args: args{tags: "FLAC / Lossless / Log / 80% / Cue / CD"}, want: ReleaseTags{Audio: []string{"Cue", "FLAC", "Lossless", "Log"}, Source: "CD"}}, {name: "music_2", args: args{tags: "FLAC Lossless Log 80% Cue CD"}, want: ReleaseTags{Audio: []string{"Cue", "FLAC", "Lossless", "Log"}, Source: "CD"}}, {name: "music_3", args: args{tags: "FLAC Lossless Log 100% Cue CD"}, want: ReleaseTags{Audio: []string{"Cue", "FLAC", "Lossless", "Log100", "Log"}, Source: "CD"}}, - {name: "music_4", args: args{tags: "FLAC 24bit Lossless Log 100% Cue CD"}, want: ReleaseTags{Audio: []string{"24BIT Lossless", "Cue", "FLAC", "Lossless", "Log100", "Log"}, Source: "CD"}}, + {name: "music_4", args: args{tags: "FLAC 24bit Lossless Log 100% Cue CD"}, want: ReleaseTags{Audio: []string{"24BIT Lossless", "Cue", "FLAC", "Log100", "Log"}, Source: "CD"}}, {name: "music_5", args: args{tags: "MP3 320 WEB"}, want: ReleaseTags{Audio: []string{"320", "MP3"}, Source: "WEB"}}, {name: "music_6", args: args{tags: "FLAC Lossless Log (100%) Cue CD"}, want: ReleaseTags{Audio: []string{"Cue", "FLAC", "Lossless", "Log100", "Log"}, Source: "CD"}}, {name: "movies_1", args: args{tags: "x264 Blu-ray MKV 1080p"}, want: ReleaseTags{Codec: "x264", Source: "BluRay", Resolution: "1080p", Container: "mkv"}},