30 lines
1.0 KiB
Go
30 lines
1.0 KiB
Go
package main
|
|
|
|
import "testing"
|
|
|
|
func TestSelectAudioDriver(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
flagDriver string
|
|
envDriver string
|
|
pulseServer string
|
|
configDriver string
|
|
want string
|
|
}{
|
|
{name: "defaults", want: ""},
|
|
{name: "configured driver", configDriver: " alsa ", want: "alsa"},
|
|
{name: "Pulse server", pulseServer: "tcp:127.0.0.1:4713", want: "pulse"},
|
|
{name: "Pulse server over configured driver", pulseServer: "unix:/tmp/pulse.sock", configDriver: "pipewire", want: "pulse"},
|
|
{name: "explicit environment over Pulse server", envDriver: "alsa", pulseServer: "tcp:127.0.0.1:4713", want: "alsa"},
|
|
{name: "flag over environment", flagDriver: " pipewire ", envDriver: "alsa", pulseServer: "tcp:127.0.0.1:4713", want: "pipewire"},
|
|
}
|
|
for _, test := range tests {
|
|
t.Run(test.name, func(t *testing.T) {
|
|
got := select_audio_driver(test.flagDriver, test.envDriver, test.pulseServer, test.configDriver)
|
|
if got != test.want {
|
|
t.Errorf("select_audio_driver() = %q, want %q", got, test.want)
|
|
}
|
|
})
|
|
}
|
|
}
|