Chat Messages: components 201-220
This commit is contained in:
121 files changed
+5737
-1
No files matched your search
@@ -0,0 +1,62 @@
|
||||
package mujica
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/egoist/mygo/ui"
|
||||
)
|
||||
|
||||
func messageEditorTester(draft *string, saves, cancels *int) *ui.Tester {
|
||||
return ui.NewTester(func(c *ui.Context) {
|
||||
Use(c, Settings{})
|
||||
r := MessageEditor(c, draft, MessageEditorOptions{Original: "Hello"})
|
||||
if r.Saved() {
|
||||
*saves++
|
||||
}
|
||||
if r.Canceled() {
|
||||
*cancels++
|
||||
}
|
||||
}, 400, 300)
|
||||
}
|
||||
|
||||
func TestMessageEditorSaveRules(t *testing.T) {
|
||||
draft, saves, cancels := "Hello", 0, 0
|
||||
tt := messageEditorTester(&draft, &saves, &cancels)
|
||||
_ = tt.Click("Save")
|
||||
_ = tt.Click("Edit message")
|
||||
tt.Key(ui.Cmd, ui.KeyEnter)
|
||||
if saves != 0 {
|
||||
t.Fatal("saved unchanged text")
|
||||
}
|
||||
tt.Type(" there")
|
||||
tt.Key(ui.Cmd, ui.KeyEnter)
|
||||
_ = tt.Click("Save")
|
||||
if saves != 2 || draft != "Hello there" {
|
||||
t.Fatalf("saves %d draft %q", saves, draft)
|
||||
}
|
||||
_ = tt.Click("Edit message")
|
||||
tt.Command("selectAll")
|
||||
tt.Type(" ")
|
||||
_ = tt.Click("Save")
|
||||
if saves != 2 {
|
||||
t.Fatal("saved blank text")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessageEditorCancel(t *testing.T) {
|
||||
draft, saves, cancels := "Hello", 0, 0
|
||||
tt := messageEditorTester(&draft, &saves, &cancels)
|
||||
_ = tt.Click("Cancel")
|
||||
_ = tt.Click("Edit message")
|
||||
tt.Key(0, ui.KeyEscape)
|
||||
if cancels != 2 || saves != 0 {
|
||||
t.Fatalf("cancels %d saves %d", cancels, saves)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessageEditorSnapshot(t *testing.T) {
|
||||
draft := "Could you seat the ambassador nearer the throne?"
|
||||
snapshot(t, "message_editor", 420, 200, func(c *ui.Context) {
|
||||
ui.Column(c).Padding(16).Children(func() { MessageEditor(c, &draft, MessageEditorOptions{Original: "Seat the ambassador."}) })
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user