aboutsummaryrefslogtreecommitdiff
path: root/lib/ui/textinput_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ui/textinput_test.go')
-rw-r--r--lib/ui/textinput_test.go72
1 files changed, 72 insertions, 0 deletions
diff --git a/lib/ui/textinput_test.go b/lib/ui/textinput_test.go
new file mode 100644
index 00000000..47a4c294
--- /dev/null
+++ b/lib/ui/textinput_test.go
@@ -0,0 +1,72 @@
+package ui
+
+import "testing"
+
+func TestDeleteWord(t *testing.T) {
+ tests := []struct {
+ name string
+ text string
+ expected string
+ }{
+ {
+ name: "hello-world",
+ text: "hello world",
+ expected: "hello ",
+ },
+ {
+ name: "empty",
+ text: "",
+ expected: "",
+ },
+ {
+ name: "quoted",
+ text: `"hello"`,
+ expected: `"hello`,
+ },
+ {
+ name: "hello-and-space",
+ text: "hello ",
+ expected: "",
+ },
+ {
+ name: "space-and-hello",
+ text: " hello",
+ expected: " ",
+ },
+ {
+ name: "only-quote",
+ text: `"`,
+ expected: "",
+ },
+ {
+ name: "only-space",
+ text: " ",
+ expected: "",
+ },
+ {
+ name: "space-and-quoted",
+ text: " 'hello",
+ expected: " '",
+ },
+ {
+ name: "paths",
+ text: "foo/bar/baz",
+ expected: "foo/bar/",
+ },
+ {
+ name: "space-and-paths",
+ text: " /foo",
+ expected: " /",
+ },
+ }
+
+ for _, test := range tests {
+ t.Run(test.name, func(t *testing.T) {
+ textinput := NewTextInput(test.text, nil)
+ textinput.deleteWord()
+ if string(textinput.text) != test.expected {
+ t.Errorf("word was deleted incorrectly: got %s but expected %s", string(textinput.text), test.expected)
+ }
+ })
+ }
+}