aboutsummaryrefslogtreecommitdiff
path: root/wrms_test.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-07-21 10:50:07 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2023-07-21 10:50:07 +0200
commit9cb08df11d7446357c5d480d08d256b906d4988e (patch)
tree23bfd03aecb715a59892e7bbeb64cb5368771276 /wrms_test.go
parentc2ba7e49b2095019f9a7df2d71bb4b42b31a357e (diff)
downloadWRMS-9cb08df11d7446357c5d480d08d256b906d4988e.tar.gz
WRMS-9cb08df11d7446357c5d480d08d256b906d4988e.zip
implement playlist in order traversal
This ensures that the initial reported song array is in order.
Diffstat (limited to 'wrms_test.go')
-rw-r--r--wrms_test.go42
1 files changed, 34 insertions, 8 deletions
diff --git a/wrms_test.go b/wrms_test.go
index e2f5412..08a94bf 100644
--- a/wrms_test.go
+++ b/wrms_test.go
@@ -9,14 +9,14 @@ import (
type mockPlayer struct{}
-func (p *mockPlayer) Play(*Song) {}
-func (p *mockPlayer) PlayUri(string) {}
-func (p *mockPlayer) PlayData(io.Reader) {}
-func (p *mockPlayer) Search(pattern string) (res chan []Song) { return }
-func (p *mockPlayer) Playing() bool { return false }
-func (p *mockPlayer) Pause() {}
-func (p *mockPlayer) Continue() {}
-func (p *mockPlayer) Stop() {}
+func (p *mockPlayer) Play(*Song) {}
+func (p *mockPlayer) PlayUri(string) {}
+func (p *mockPlayer) PlayData(io.Reader) {}
+func (p *mockPlayer) Search(pattern map[string]string) (res chan []Song) { return }
+func (p *mockPlayer) Playing() bool { return false }
+func (p *mockPlayer) Pause() {}
+func (p *mockPlayer) Continue() {}
+func (p *mockPlayer) Stop() {}
var alice, _ = uuid.NewRandom()
@@ -31,6 +31,32 @@ func TestWrmsAdd(t *testing.T) {
}
}
+func TestWrmsAdd3Next3(t *testing.T) {
+ wrms := Wrms{Player: &mockPlayer{}}
+ songs := []Song{
+ NewDummySong("song1", "snfmt"),
+ NewDummySong("song2", "snfmt"),
+ NewDummySong("song3", "snfmt"),
+ }
+
+ for _, s := range songs {
+ wrms.AddSong(s)
+ }
+
+ if len(wrms.queue) != len(songs) {
+ t.Log("len should be 3")
+ t.Fail()
+ }
+
+ for _, s := range wrms.queue.OrderedList() {
+ wrms.Next()
+ if wrms.CurrentSong.Load().Uri != s.Uri {
+ t.Log("Not returning the next song")
+ t.Fail()
+ }
+ }
+}
+
func TestWrmsAdjust(t *testing.T) {
wrms := Wrms{Player: &mockPlayer{}}
s1 := NewDummySong("song1", "snfmt")