summaryrefslogtreecommitdiff
path: root/redo/zz_test.go
blob: a0751dcabd72e6f85b4f378de0b69ae839c2e39a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// 8 july 2014

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 Do(func() {
		w := NewWindow("Hello", 320, 240)
		b := NewButton("There")
		w.SetControl(b)
		if *closeOnClick {
			b.SetText("Click to Close")
		}
		done := make(chan struct{})
		w.OnClosing(func() 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
		})
		b.OnClicked(func() {
			println("in OnClicked()")
			if *closeOnClick {
				w.Close()
				Stop()
				done <- struct{}{}
			}
		})
		w.Show()
		<-done
	})
	err := Go()
	if err != nil {
		panic(err)
	}
}

func TestDummy(t *testing.T) {
	// do nothing
}