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) } } } 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) } } } 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) } }