76 lines
1.4 KiB
Go
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)
|
|
}
|
|
}
|
|
|