From 9cb08df11d7446357c5d480d08d256b906d4988e Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Fri, 21 Jul 2023 10:50:07 +0200 Subject: implement playlist in order traversal This ensures that the initial reported song array is in order. --- wrms_test.go | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) (limited to 'wrms_test.go') 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") -- cgit v1.2.3