2021-03-30 19:37:02 -04:00
|
|
|
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)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-30 20:22:11 -04:00
|
|
|
type ctrlTest struct {
|
|
|
|
arg1, expected rune
|
|
|
|
}
|
|
|
|
|
|
|
|
var ctrlTests = []ctrlTest {
|
|
|
|
{'A', '\x01'},
|
|
|
|
{'B', '\x02'},
|
|
|
|
{'Z', '\x1a'},
|
|
|
|
{'#', 3},
|
|
|
|
{'┻', 0},
|
|
|
|
{'😿', 0},
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestCtrl(t *testing.T) {
|
|
|
|
for _, test := range ctrlTests {
|
|
|
|
if output := ctrl(test.arg1); output != test.expected {
|
|
|
|
t.Errorf("Output %v not equal to expected %v for input %q", output, test.expected, test.arg1)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-30 19:37:02 -04:00
|
|
|
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)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|