62 lines
1.6 KiB
Go
62 lines
1.6 KiB
Go
|
package model_test
|
||
|
|
||
|
import (
|
||
|
"path/filepath"
|
||
|
|
||
|
"github.com/navidrome/navidrome/model"
|
||
|
. "github.com/onsi/ginkgo/v2"
|
||
|
. "github.com/onsi/gomega"
|
||
|
)
|
||
|
|
||
|
var _ = Describe("File Types()", func() {
|
||
|
Describe("IsAudioFile", func() {
|
||
|
It("returns true for a MP3 file", func() {
|
||
|
Expect(model.IsAudioFile(filepath.Join("path", "to", "test.mp3"))).To(BeTrue())
|
||
|
})
|
||
|
|
||
|
It("returns true for a FLAC file", func() {
|
||
|
Expect(model.IsAudioFile("test.flac")).To(BeTrue())
|
||
|
})
|
||
|
|
||
|
It("returns false for a non-audio file", func() {
|
||
|
Expect(model.IsAudioFile("test.jpg")).To(BeFalse())
|
||
|
})
|
||
|
|
||
|
It("returns false for m3u files", func() {
|
||
|
Expect(model.IsAudioFile("test.m3u")).To(BeFalse())
|
||
|
})
|
||
|
|
||
|
It("returns false for pls files", func() {
|
||
|
Expect(model.IsAudioFile("test.pls")).To(BeFalse())
|
||
|
})
|
||
|
})
|
||
|
|
||
|
Describe("IsImageFile()", func() {
|
||
|
It("returns true for a PNG file", func() {
|
||
|
Expect(model.IsImageFile(filepath.Join("path", "to", "test.png"))).To(BeTrue())
|
||
|
})
|
||
|
|
||
|
It("returns true for a JPEG file", func() {
|
||
|
Expect(model.IsImageFile("test.JPEG")).To(BeTrue())
|
||
|
})
|
||
|
|
||
|
It("returns false for a non-image file", func() {
|
||
|
Expect(model.IsImageFile("test.mp3")).To(BeFalse())
|
||
|
})
|
||
|
})
|
||
|
|
||
|
Describe("IsValidPlaylist()", func() {
|
||
|
It("returns true for a M3U file", func() {
|
||
|
Expect(model.IsValidPlaylist(filepath.Join("path", "to", "test.m3u"))).To(BeTrue())
|
||
|
})
|
||
|
|
||
|
It("returns true for a M3U8 file", func() {
|
||
|
Expect(model.IsValidPlaylist(filepath.Join("path", "to", "test.m3u8"))).To(BeTrue())
|
||
|
})
|
||
|
|
||
|
It("returns false for a non-playlist file", func() {
|
||
|
Expect(model.IsValidPlaylist("testm3u")).To(BeFalse())
|
||
|
})
|
||
|
})
|
||
|
})
|