package uploads import ( "testing" "github.com/stretchr/testify/require" ) func TestSidecarDirs(t *testing.T) { tpl := "{albumartist}/{year} - {album}/{disc:1-}{track:02} - {title}.{ext}" album, artist := sidecarDirs(tpl, "Artist/2020 - Album/01 - Song.flac") require.Equal(t, "Artist/2020 - Album", album) require.Equal(t, "Artist", artist) album, artist = sidecarDirs("{albumartist}/{album}/{disc:1}/{track:02} - {title}.{ext}", "A/B/1/01 - S.flac") require.Equal(t, "A/B", album) require.Equal(t, "A", artist) album, artist = sidecarDirs("{albumartist} - {album}/{title}.{ext}", "A - B/S.flac") require.Equal(t, "A - B", album) require.Empty(t, artist) album, artist = sidecarDirs("{albumartist} - {title}.{ext}", "A - S.flac") require.Empty(t, album) require.Empty(t, artist) } func TestPrimaryArtistKeepsFeaturingInFirstArtistFolder(t *testing.T) { require.Equal(t, "BOULEVARD DEPO", Meta{AlbumArtist: "BOULEVARD DEPO;JEEMBO"}.PrimaryArtist()) require.Equal(t, "BOULEVARD DEPO", Meta{Artist: "BOULEVARD DEPO feat. SP4K"}.PrimaryArtist()) require.Equal(t, "Simon & Garfunkel", Meta{AlbumArtist: "Simon & Garfunkel"}.Fields().AlbumArtist) }