summaryrefslogtreecommitdiff
path: root/main_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'main_test.go')
-rw-r--r--main_test.go73
1 files changed, 73 insertions, 0 deletions
diff --git a/main_test.go b/main_test.go
new file mode 100644
index 0000000..229fe34
--- /dev/null
+++ b/main_test.go
@@ -0,0 +1,73 @@
+// 11 february 2014
+package ui
+
+import (
+ "fmt"
+ "testing"
+)
+
+func TestMain(t *testing.T) {
+ w := NewWindow("Main Window", 320, 240)
+ w.Closing = Event()
+ b := NewButton("Click Me")
+ b2 := NewButton("Or Me")
+ s2 := NewStack(Horizontal, b, b2)
+ c := NewCheckbox("Check Me")
+ cb1 := NewCombobox(true, "You can edit me!", "Yes you can!", "Yes you will!")
+ cb2 := NewCombobox(false, "You can't edit me!", "No you can't!", "No you won't!")
+ e := NewLineEdit("Enter text here too")
+ l := NewLabel("This is a label")
+ b3 := NewButton("List Info")
+ s3 := NewStack(Horizontal, l, b3)
+ s0 := NewStack(Vertical, s2, c, cb1, cb2, e, s3)
+ lb1 := NewListbox(true, "Select One", "Or More", "To Continue")
+ lb2 := NewListbox(false, "Select", "Only", "One", "Please")
+ i := 0
+ doAdjustments := func() {
+ cb1.Append("append")
+ cb2.InsertBefore(fmt.Sprintf("before %d", i), 1)
+ lb1.InsertBefore(fmt.Sprintf("%d", i), 2)
+ lb2.Append("Please")
+ i++
+ }
+ doAdjustments()
+ s1 := NewStack(Vertical, lb2, lb1)
+ s := NewStack(Horizontal, s1, s0)
+ err := w.Open(s)
+ if err != nil {
+ panic(err)
+ }
+
+mainloop:
+ for {
+ select {
+ case <-w.Closing:
+ break mainloop
+ case <-b.Clicked:
+ err = w.SetTitle(fmt.Sprintf("%v | %s | %s | %s",
+ c.Checked(),
+ cb1.Selection(),
+ cb2.Selection(),
+ e.Text()))
+ if err != nil {
+ panic(err)
+ }
+ doAdjustments()
+ case <-b2.Clicked:
+ cb1.Delete(1)
+ cb2.Delete(2)
+ lb1.Delete(3)
+ lb2.Delete(4)
+ case <-b3.Clicked:
+ MsgBox("List Info",
+ "cb1: %d %q\ncb2: %d %q\nlb1: %d %q\nlb2: %d %q",
+ cb1.SelectedIndex(), cb1.Selection(),
+ cb2.SelectedIndex(), cb2.Selection(),
+ lb1.SelectedIndices(), lb1.Selection(),
+ lb2.SelectedIndices(), lb2.Selection())
+ }
+ }
+ w.Hide()
+println("exited loop")
+}
+