From 6cb2e5926bdbf205277b03e1c55e9b97db997cea Mon Sep 17 00:00:00 2001 From: Karl Besser Date: Thu, 26 Sep 2024 17:22:25 -0400 Subject: [PATCH] Add unit tests for separate "feat. X" detection The unit tests for the `ftintitle.contains_feat` function are now split up for artist and title matching. --- test/plugins/test_ftintitle.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/test/plugins/test_ftintitle.py b/test/plugins/test_ftintitle.py index 9e8f14fe1..6347d814b 100644 --- a/test/plugins/test_ftintitle.py +++ b/test/plugins/test_ftintitle.py @@ -175,7 +175,7 @@ class FtInTitlePluginTest(unittest.TestCase): parts = ftintitle.split_on_feat("Alice defeat Bob") assert parts == ("Alice defeat Bob", None) - def test_contains_feat(self): + def test_contains_feat_artist(self): assert ftintitle.contains_feat("Alice ft. Bob") assert ftintitle.contains_feat("Alice feat. Bob") assert ftintitle.contains_feat("Alice feat Bob") @@ -190,3 +190,16 @@ class FtInTitlePluginTest(unittest.TestCase): assert not ftintitle.contains_feat("Alice defeat Bob") assert not ftintitle.contains_feat("Aliceft.Bob") assert not ftintitle.contains_feat("Alice (defeat Bob)") + + def test_contains_feat_title(self): + assert ftintitle.contains_feat( + "Live and Let Go (feat. Alice)", for_artist=False + ) + assert ftintitle.contains_feat( + "Live and Let Go [feat. Alice]", for_artist=False + ) + assert ftintitle.contains_feat( + "Live and Let Go feat. Alice", for_artist=False + ) + assert not ftintitle.contains_feat("Live and Let Go", for_artist=False) + assert not ftintitle.contains_feat("Come With Me", for_artist=False)