playlist timer pause/resume without affecting active feeds
This commit is contained in:
@@ -3,6 +3,7 @@ package main
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"math"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -127,6 +128,8 @@ func TestPlayerPlaylistNavigationHelpers(t *testing.T) {
|
||||
{send: func() bool { return runtime.Select(4) }, want: playback.PlaylistCommand{Kind: playback.PlaylistSelect, Index: 4}},
|
||||
{send: runtime.Next, want: playback.PlaylistCommand{Kind: playback.PlaylistNext}},
|
||||
{send: runtime.Previous, want: playback.PlaylistCommand{Kind: playback.PlaylistPrevious}},
|
||||
{send: runtime.Pause, want: playback.PlaylistCommand{Kind: playback.PlaylistPause}},
|
||||
{send: runtime.Resume, want: playback.PlaylistCommand{Kind: playback.PlaylistResume}},
|
||||
}
|
||||
for _, test := range tests {
|
||||
if !test.send() {
|
||||
@@ -344,6 +347,16 @@ func TestPlaylistTimingProgress(t *testing.T) {
|
||||
timing: playback.PlaylistTimingState{Duration: 10 * time.Second, Expired: true},
|
||||
wantFraction: 1,
|
||||
},
|
||||
{
|
||||
name: "paused",
|
||||
timing: playback.PlaylistTimingState{
|
||||
Duration: 10 * time.Second,
|
||||
Paused: true,
|
||||
Remaining: 6 * time.Second,
|
||||
},
|
||||
wantFraction: 0.4,
|
||||
wantRemaining: 6 * time.Second,
|
||||
},
|
||||
{
|
||||
name: "deadline passed",
|
||||
timing: playback.PlaylistTimingState{
|
||||
@@ -358,7 +371,8 @@ func TestPlaylistTimingProgress(t *testing.T) {
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
fraction, remaining := playlistTimingProgress(test.timing, now)
|
||||
if fraction != test.wantFraction || remaining != test.wantRemaining {
|
||||
if math.Abs(float64(fraction-test.wantFraction)) > 0.000001 ||
|
||||
remaining != test.wantRemaining {
|
||||
t.Fatalf(
|
||||
"playlistTimingProgress() = %v, %v; want %v, %v",
|
||||
fraction,
|
||||
|
||||
Reference in New Issue
Block a user