diff options
Diffstat (limited to 'lib/ui/textinput_test.go')
-rw-r--r-- | lib/ui/textinput_test.go | 72 |
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) + } + }) + } +} |