package library import ( "slices" "testing" ) // Real basenames from the operator's library (2026-10-08), each with the // labels it should carry. The negatives are the near misses that shaped the // list: a song called "Chain Reaction", a live album, an ordinary track. func TestSourceMarkersFor(t *testing.T) { cases := []struct { base string want []string }{ {"Daft Punk - Random Access Memories - 06 - Daft Punk - Doin' It Right (Music Video) ft. Panda Bear.mp3", []string{"music video"}}, {"Gorillaz - Humanz - 03 - Gorillaz - Saturnz Barz (Official Video).mp3", []string{"music video"}}, {"Gorillaz - Humanz - 05 - Gorillaz - Andromeda (Official Audio).mp3", []string{"official audio"}}, {"Gorillaz - Gorillaz - 06 - Gorillaz - P45 (Visualizer).mp3", []string{"visualiser"}}, {"Gorillaz - Demon Days - 16 - Gorillaz - Don Quixote's Christmas Bonanza (Visualiser).mp3", []string{"visualiser"}}, {"Artist - Album - 01 - Artist - Song (Lyric Video).mp3", []string{"lyric video"}}, {"Gorillaz - Humanz - 02 - FIRST TIME HEARING Gorillaz - Ascension REACTION.mp3", []string{"reaction"}}, {"Watsky - INTENTION - 05 - MANIAC Reacts to Watsky - AWW SHiT.mp3", []string{"reaction"}}, {"米津玄師 - diorama - 09 - 【MV】米津玄師 - 恋と病熱.mp3", []string{"MV"}}, {"Andora - Ego - 01 - Andora - Ego (feat. Will Stetson) MV.mp3", []string{"MV"}}, {"Jimmy Eat World - Something(s) Loud - 05 - Jimmy Eat World - Call to Love (Audio).mp3", []string{"[Audio]"}}, {"Record Heat - World War IV - 03 - Record Heat - Front Seat Feelin' [Audio].mp3", []string{"[Audio]"}}, {"Aphex Twin - Come To Daddy - 03 - Aphex Twin - Bucephalus Bouncing Ball (HQ).mp3", []string{"[HD]"}}, {"Artist - Album - 01 - Artist - Song (Official Lyric Video) [4K].mp3", []string{"lyric video", "[HD]"}}, {"Beck - Guero - 15 - Beck - Chain Reaction.mp3", nil}, {"Nirvana - MTV Unplugged in New York - 01 - About a Girl (live in New York).flac", nil}, {"Boards of Canada - Music Has the Right to Children - 05 - Roygbiv.flac", nil}, {"Artist - Album - 01 - Mvula.flac", nil}, } for _, c := range cases { got := SourceMarkersFor("/music/x/" + c.base) if len(got) == 0 && len(c.want) == 0 { continue // nil and empty both mean "no markers" } if !slices.Equal(got, c.want) { t.Errorf("%s:\n got %v\n want %v", c.base, got, c.want) } } } // The folder is not evidence: a marker word in a directory name must not // flag the files inside it. func TestSourceMarkersFor_ReadsOnlyTheBasename(t *testing.T) { if got := SourceMarkersFor("/music/Official Video Collection/01 - Song.flac"); len(got) != 0 { t.Errorf("directory name flagged the file: %v", got) } }