gilo/editor/fn_test.go
2021-03-30 19:37:02 -04:00

76 lines
1.4 KiB
Go

package editor
import (
"testing"
)
type isRune struct {
arg1 rune
expected bool
}
// (╯°□°)╯︵ ┻━┻
var isAsciiTest = []isRune {
{'┻', false},
{'$', true},
{'︵', false},
{0x7f, true},
}
func TestIsAscii(t *testing.T) {
for _, test := range isAsciiTest {
if output := isAscii(test.arg1); output != test.expected {
t.Errorf("Output %v not equal to expected %v for input %q", output, test.expected, test.arg1)
}
}
}
var isCtrlTest = []isRune {
{0x78, false},
{0x7f, true},
{0x02, true},
{0x98, false},
{'a', false},
}
func TestIsCtrl(t *testing.T) {
for _, test := range isCtrlTest {
if output := isCtrl(test.arg1); output != test.expected {
t.Errorf("Output %v not equal to expected %v for input %q", output, test.expected, test.arg1)
}
}
}
func TestTruncateString(t *testing.T) {
firstString := "abcdefghijklmnopqrstuvwxyz"
truncated := truncateString(firstString, 13)
got := len(truncated)
want := 13
if got != want {
t.Errorf("Truncated length: %q, expected length: %q", got, want)
}
}
func TestTruncateStringNegative(t *testing.T) {
got := truncateString("fdlkjf", -5)
want := ""
if got != want {
t.Errorf("Truncated value: %q, expected value: %q", got, want)
}
}
func TestTruncateShorterString(t *testing.T) {
str := "abcdefg"
got := truncateString(str, 13)
want := str
if got != want {
t.Errorf("Truncated value: %q, expected value: %q", got, want)
}
}