use testify for all tests (#319)

* Use Testify for all tests

* Terminate failing non-relaxed tests using `require`
This commit is contained in:
Gregor Zurowski
2023-05-13 17:17:37 +02:00
committed by GitHub
parent bb8507a72f
commit b7a50ee9cb
8 changed files with 251 additions and 263 deletions

View File

@@ -7,7 +7,7 @@ import (
"sort"
"testing"
"github.com/matryer/is"
"github.com/stretchr/testify/require"
"go.senan.xyz/gonic/jukebox"
)
@@ -36,9 +36,9 @@ func TestPlaySkipReset(t *testing.T) {
t.Parallel()
j := newJukebox(t)
is := is.New(t)
require := require.New(t)
is.NoErr(j.SetPlaylist([]string{
require.NoError(j.SetPlaylist([]string{
testPath("tr_0.mp3"),
testPath("tr_1.mp3"),
testPath("tr_2.mp3"),
@@ -47,56 +47,56 @@ func TestPlaySkipReset(t *testing.T) {
}))
status, err := j.GetStatus()
is.NoErr(err)
is.Equal(status.CurrentIndex, 0)
is.Equal(status.CurrentFilename, testPath("tr_0.mp3"))
is.Equal(status.Length, 5)
is.Equal(status.Playing, true)
require.NoError(err)
require.Equal(status.CurrentIndex, 0)
require.Equal(status.CurrentFilename, testPath("tr_0.mp3"))
require.Equal(status.Length, 5)
require.Equal(status.Playing, true)
items, err := j.GetPlaylist()
is.NoErr(err)
require.NoError(err)
itemsSorted := append([]string(nil), items...)
sort.Strings(itemsSorted)
is.Equal(items, itemsSorted)
require.Equal(items, itemsSorted)
is.NoErr(j.Play())
require.NoError(j.Play())
status, err = j.GetStatus()
is.NoErr(err)
is.Equal(status.Playing, true)
require.NoError(err)
require.Equal(status.Playing, true)
is.NoErr(j.Pause())
require.NoError(j.Pause())
status, err = j.GetStatus()
is.NoErr(err)
is.Equal(status.Playing, false)
require.NoError(err)
require.Equal(status.Playing, false)
is.NoErr(j.Play())
require.NoError(j.Play())
// skip to 2
is.NoErr(j.SkipToPlaylistIndex(2, 0))
require.NoError(j.SkipToPlaylistIndex(2, 0))
status, err = j.GetStatus()
is.NoErr(err)
is.Equal(status.CurrentIndex, 2)
is.Equal(status.CurrentFilename, testPath("tr_2.mp3"))
is.Equal(status.Length, 5)
is.Equal(status.Playing, true)
require.NoError(err)
require.Equal(status.CurrentIndex, 2)
require.Equal(status.CurrentFilename, testPath("tr_2.mp3"))
require.Equal(status.Length, 5)
require.Equal(status.Playing, true)
// skip to 3
is.NoErr(j.SkipToPlaylistIndex(3, 0))
require.NoError(j.SkipToPlaylistIndex(3, 0))
status, err = j.GetStatus()
is.NoErr(err)
is.Equal(status.CurrentIndex, 3)
is.Equal(status.CurrentFilename, testPath("tr_3.mp3"))
is.Equal(status.Length, 5)
is.Equal(status.Playing, true)
require.NoError(err)
require.Equal(status.CurrentIndex, 3)
require.Equal(status.CurrentFilename, testPath("tr_3.mp3"))
require.Equal(status.Length, 5)
require.Equal(status.Playing, true)
// just add one more by overwriting the playlist like some clients do
// we should keep the current track unchaned if we find it
is.NoErr(j.SetPlaylist([]string{
require.NoError(j.SetPlaylist([]string{
"testdata/tr_0.mp3",
"testdata/tr_1.mp3",
"testdata/tr_2.mp3",
@@ -106,24 +106,24 @@ func TestPlaySkipReset(t *testing.T) {
}))
status, err = j.GetStatus()
is.NoErr(err)
is.Equal(status.CurrentIndex, 3) // index unchanged
is.Equal(status.CurrentFilename, testPath("tr_3.mp3"))
is.Equal(status.Length, 6) // we added one more track
is.Equal(status.Playing, true)
require.NoError(err)
require.Equal(status.CurrentIndex, 3) // index unchanged
require.Equal(status.CurrentFilename, testPath("tr_3.mp3"))
require.Equal(status.Length, 6) // we added one more track
require.Equal(status.Playing, true)
// skip to 3 again
is.NoErr(j.SkipToPlaylistIndex(3, 0))
require.NoError(j.SkipToPlaylistIndex(3, 0))
status, err = j.GetStatus()
is.NoErr(err)
is.Equal(status.CurrentIndex, 3)
is.Equal(status.CurrentFilename, testPath("tr_3.mp3"))
is.Equal(status.Length, 6)
is.Equal(status.Playing, true)
require.NoError(err)
require.Equal(status.CurrentIndex, 3)
require.Equal(status.CurrentFilename, testPath("tr_3.mp3"))
require.Equal(status.Length, 6)
require.Equal(status.Playing, true)
// remove all but 3
is.NoErr(j.SetPlaylist([]string{
require.NoError(j.SetPlaylist([]string{
"testdata/tr_0.mp3",
"testdata/tr_1.mp3",
"testdata/tr_2.mp3",
@@ -131,25 +131,25 @@ func TestPlaySkipReset(t *testing.T) {
}))
status, err = j.GetStatus()
is.NoErr(err)
is.Equal(status.CurrentIndex, 3) // index unchanged
is.Equal(status.CurrentFilename, testPath("tr_3.mp3"))
is.Equal(status.Length, 4)
is.Equal(status.Playing, true)
require.NoError(err)
require.Equal(status.CurrentIndex, 3) // index unchanged
require.Equal(status.CurrentFilename, testPath("tr_3.mp3"))
require.Equal(status.Length, 4)
require.Equal(status.Playing, true)
// skip to 2 (5s long) in the middle of the track
is.NoErr(j.SkipToPlaylistIndex(2, 2))
require.NoError(j.SkipToPlaylistIndex(2, 2))
status, err = j.GetStatus()
is.NoErr(err)
is.Equal(status.CurrentIndex, 2) // index unchanged
is.Equal(status.CurrentFilename, testPath("tr_2.mp3"))
is.Equal(status.Length, 4)
is.Equal(status.Playing, true)
is.Equal(status.Position, 2) // at new position
require.NoError(err)
require.Equal(status.CurrentIndex, 2) // index unchanged
require.Equal(status.CurrentFilename, testPath("tr_2.mp3"))
require.Equal(status.Length, 4)
require.Equal(status.Playing, true)
require.Equal(status.Position, 2) // at new position
// overwrite completely
is.NoErr(j.SetPlaylist([]string{
require.NoError(j.SetPlaylist([]string{
"testdata/tr_5.mp3",
"testdata/tr_6.mp3",
"testdata/tr_7.mp3",
@@ -158,33 +158,33 @@ func TestPlaySkipReset(t *testing.T) {
}))
status, err = j.GetStatus()
is.NoErr(err)
is.Equal(status.CurrentIndex, 0) // index unchanged
is.Equal(status.CurrentFilename, testPath("tr_5.mp3"))
is.Equal(status.Length, 5)
is.Equal(status.Playing, true)
require.NoError(err)
require.Equal(status.CurrentIndex, 0) // index unchanged
require.Equal(status.CurrentFilename, testPath("tr_5.mp3"))
require.Equal(status.Length, 5)
require.Equal(status.Playing, true)
}
func TestVolume(t *testing.T) {
t.Parallel()
j := newJukebox(t)
is := is.New(t)
require := require.New(t)
vol, err := j.GetVolumePct()
is.NoErr(err)
is.Equal(vol, 100.0)
require.NoError(err)
require.Equal(vol, 100.0)
is.NoErr(j.SetVolumePct(69.0))
require.NoError(j.SetVolumePct(69.0))
vol, err = j.GetVolumePct()
is.NoErr(err)
is.Equal(vol, 69.0)
require.NoError(err)
require.Equal(vol, 69.0)
is.NoErr(j.SetVolumePct(0.0))
require.NoError(j.SetVolumePct(0.0))
vol, err = j.GetVolumePct()
is.NoErr(err)
is.Equal(vol, 0.0)
require.NoError(err)
require.Equal(vol, 0.0)
}
func testPath(path string) string {