clipboard/clipboard_test.go
2025-11-10 10:17:06 +08:00

62 lines
1.2 KiB
Go

package clipboard
import (
"b612.me/win32api"
"fmt"
"testing"
"time"
)
func TestGet(t *testing.T) {
fmt.Println(win32api.RegisterClipboardFormat("Preferred DropEffect"))
lsn, err := Listen(false)
if err != nil {
t.Fatal(err)
}
for {
select {
case cb := <-lsn:
fmt.Println(cb.platform)
fmt.Println(cb.winOriginTypes)
fmt.Println(cb.AvailableTypes())
if cb.IsText() {
fmt.Println(cb.Text())
}
if cb.IsHTML() {
fmt.Println(cb.HTML())
}
if cb.IsFile() {
fmt.Println(cb.FilePaths())
}
case <-time.After(60 * time.Second):
fmt.Println("not get clipboard data in 60s")
StopListen()
time.Sleep(time.Second * 15)
return
}
}
}
func TestGetMeta(t *testing.T) {
fmt.Println(win32api.RegisterClipboardFormat("Preferred DropEffect"))
lsn, err := Listen(true)
if err != nil {
t.Fatal(err)
}
for {
select {
case cb := <-lsn:
fmt.Println(cb.platform)
fmt.Println(cb.winOriginTypes)
fmt.Println(cb.AvailableTypes())
fmt.Println(cb.primarySize)
fmt.Println(cb.secondarySize)
case <-time.After(60 * time.Second):
fmt.Println("not get clipboard data in 60s")
StopListen()
time.Sleep(time.Second * 15)
return
}
}
}