playback composition object
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"mxl-player/internal/playback"
|
||||
)
|
||||
|
||||
func validRuntimeRetryPolicy() playback.RetryPolicy {
|
||||
return playback.RetryPolicy{
|
||||
MaxAttempts: 3,
|
||||
InitialDelay: time.Millisecond,
|
||||
MaxDelay: time.Second,
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewPlayerPlaybackBuildsCompleteRuntime(t *testing.T) {
|
||||
runtime, err := newPlayerPlayback(123, validRuntimeRetryPolicy())
|
||||
if err != nil {
|
||||
t.Fatalf("newPlayerPlayback() error = %v", err)
|
||||
}
|
||||
if runtime.Controller == nil || runtime.Video == nil || runtime.Status == nil || runtime.Audio == nil {
|
||||
t.Fatalf("newPlayerPlayback() = %#v", runtime)
|
||||
}
|
||||
if runtime.Commands == nil || cap(runtime.Commands) != 32 {
|
||||
t.Fatalf("command channel = %#v, capacity = %d", runtime.Commands, cap(runtime.Commands))
|
||||
}
|
||||
if err := runtime.Close(); err != nil {
|
||||
t.Fatalf("Close() error = %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewPlayerPlaybackRejectsInvalidRetryPolicy(t *testing.T) {
|
||||
runtime, err := newPlayerPlayback(123, playback.RetryPolicy{})
|
||||
if runtime != nil {
|
||||
t.Fatalf("newPlayerPlayback() runtime = %#v, want nil", runtime)
|
||||
}
|
||||
if err == nil {
|
||||
t.Fatal("newPlayerPlayback() error is nil")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user