clipboard/clipboard_test.go

62 lines
1.2 KiB
Go
Raw Normal View History

2024-03-27 11:20:59 +08:00
package clipboard
import (
2024-04-02 14:11:59 +08:00
"b612.me/win32api"
2024-03-27 11:20:59 +08:00
"fmt"
"testing"
2024-03-30 15:07:20 +08:00
"time"
2024-03-27 11:20:59 +08:00
)
func TestGet(t *testing.T) {
2024-04-02 14:11:59 +08:00
fmt.Println(win32api.RegisterClipboardFormat("Preferred DropEffect"))
lsn, err := Listen(false)
2024-03-27 11:20:59 +08:00
if err != nil {
2024-03-30 15:07:20 +08:00
t.Fatal(err)
}
for {
select {
case cb := <-lsn:
2025-11-10 10:17:06 +08:00
fmt.Println(cb.platform)
2024-04-02 14:11:59 +08:00
fmt.Println(cb.winOriginTypes)
2024-03-30 15:07:20 +08:00
fmt.Println(cb.AvailableTypes())
2024-04-02 14:11:59 +08:00
if cb.IsText() {
fmt.Println(cb.Text())
}
if cb.IsHTML() {
fmt.Println(cb.HTML())
}
if cb.IsFile() {
fmt.Println(cb.FilePaths())
}
2024-03-30 15:07:20 +08:00
case <-time.After(60 * time.Second):
fmt.Println("not get clipboard data in 60s")
StopListen()
time.Sleep(time.Second * 15)
return
}
2024-03-27 11:20:59 +08:00
}
}
2024-04-02 14:11:59 +08:00
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:
2025-11-10 10:17:06 +08:00
fmt.Println(cb.platform)
2024-04-02 14:11:59 +08:00
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
}
}
}