summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--redo/zz_test.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/redo/zz_test.go b/redo/zz_test.go
index c916252..8b87312 100644
--- a/redo/zz_test.go
+++ b/redo/zz_test.go
@@ -5,23 +5,39 @@ package ui
// This file is called zz_test.go to keep it separate from the other files in this package (and because go test won't accept just test.go)
import (
+ "flag"
"testing"
)
+var closeOnClick = flag.Bool("close", false, "close on click")
+
// because Cocoa hates being run off the main thread, even if it's run exclusively off the main thread
func init() {
+ flag.Parse()
go func() {
w := GetNewWindow(Do, "Hello", 320, 240)
b := GetNewButton(Do, "There")
Wait(Do, w.SetControl(b))
+ if *closeOnClick {
+ Wait(Do, b.SetText("Click to Close"))
+ }
done := make(chan struct{})
Wait(Do, w.OnClosing(func(c Doer) bool {
+ if *closeOnClick {
+ panic("window closed normally in close on click mode (should not happen)")
+ }
+ println("window close event received")
Stop()
done <- struct{}{}
return true
}))
Wait(Do, b.OnClicked(func(c Doer) {
println("in OnClicked()")
+ if *closeOnClick {
+ Wait(c, w.Close())
+ Stop()
+ done <- struct{}{}
+ }
}))
Wait(Do, w.Show())
<-done