33 lines
1.1 KiB
Go
33 lines
1.1 KiB
Go
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)
|
|
}
|