Skip to content

Commit b515496

Browse files
committed
all: add multiple write test
1 parent e6987fe commit b515496

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

clipboard_test.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,31 @@ func TestClipboard(t *testing.T) {
5656
})
5757
}
5858

59+
func TestClipboardMultipleWrites(t *testing.T) {
60+
data, err := os.ReadFile("testdata/clipboard.png")
61+
if err != nil {
62+
t.Fatalf("failed to read gold file: %v", err)
63+
}
64+
clipboard.Write(clipboard.MIMEImage, data)
65+
66+
data = []byte("golang.design/x/clipboard")
67+
clipboard.Write(clipboard.MIMEText, data)
68+
69+
b := clipboard.Read(clipboard.MIMEImage)
70+
if b != nil {
71+
t.Fatalf("read clipboard that should store text data as image should fail, but got: %d", len(b))
72+
}
73+
74+
b = clipboard.Read(clipboard.MIMEText)
75+
if b == nil {
76+
t.Fatalf("read clipboard that should store text data as text should success, got: nil")
77+
}
78+
79+
if !reflect.DeepEqual(data, b) {
80+
t.Fatalf("read data from clipbaord is inconsistent with previous write, want %s, got: %s", string(data), string(b))
81+
}
82+
}
83+
5984
func BenchmarkClipboard(b *testing.B) {
6085

6186
b.Run("text", func(b *testing.B) {

0 commit comments

Comments
 (0)