62 lines
1.2 KiB
Go
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
|
|
}
|
|
}
|
|
}
|