git/intake/main
internal/scan/scan_test.go
24 lines679 B last change raw · history
package scan

import "testing"

// Multi-disc rips are very often arranged as CD1 / CD2 folders with nothing in
// the tags. Without reading the folder, every disc came out as disc 1 and every
// track number was repeated across the discs.
func TestDiscFromFolder(t *testing.T) {
	cases := []struct {
		in   string
		want int
	}{
		{"CD1", 1}, {"CD2", 2}, {"cd 3", 3}, {"Disc 2", 2},
		{"DISK_4", 4}, {"disc-5", 5}, {"CD 10", 10},
		{"", 0}, {"bonus", 0}, {"CD", 0}, {"cdx", 0}, {"2012", 0},
		{"CD0", 0}, {"disc one", 0},
	}
	for _, c := range cases {
		if got := discFromFolder(c.in); got != c.want {
			t.Errorf("discFromFolder(%q) = %d, want %d", c.in, got, c.want)
		}
	}
}