43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package appui
|
|
|
|
import (
|
|
"slices"
|
|
"testing"
|
|
)
|
|
|
|
func TestNewPlatformClipboardWriterUsesCommandWriterOnAndroid(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
writer := newPlatformClipboardWriter("android", nil)
|
|
if _, ok := writer.(*clipboardCommandWriter); !ok {
|
|
t.Fatalf("newPlatformClipboardWriter(android) = %T, want *clipboardCommandWriter", writer)
|
|
}
|
|
}
|
|
|
|
func TestNewPlatformClipboardWriterUsesSystemClipboardOffAndroid(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
if writer := newPlatformClipboardWriter("linux", nil); writer != nil {
|
|
t.Fatalf("newPlatformClipboardWriter(linux) = %T, want nil", writer)
|
|
}
|
|
}
|
|
|
|
func TestClipboardCommandWriterDrainsQueuedWrites(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
writer := &clipboardCommandWriter{}
|
|
if err := writer.WriteText("username"); err != nil {
|
|
t.Fatalf("WriteText(username) error = %v", err)
|
|
}
|
|
if err := writer.WriteText("password"); err != nil {
|
|
t.Fatalf("WriteText(password) error = %v", err)
|
|
}
|
|
|
|
if got := writer.drain(); !slices.Equal(got, []string{"username", "password"}) {
|
|
t.Fatalf("drain() = %v, want [username password]", got)
|
|
}
|
|
if got := writer.drain(); got != nil {
|
|
t.Fatalf("drain() after flush = %v, want nil", got)
|
|
}
|
|
}
|