diff --git a/editor/buffer_test.go b/editor/buffer_test.go new file mode 100644 index 0000000..ecaa001 --- /dev/null +++ b/editor/buffer_test.go @@ -0,0 +1,50 @@ +package editor + +import "testing" + +func TestBufferAppendRune(t *testing.T) { + b := newBuffer() + + got := b.appendRune('a') + want := 1 + + if got != want { + t.Errorf("Wrong length for rune, got %q, expected %q for rune %c", got, want, 'a') + } +} + +func TestBufferAppend(t *testing.T) { + b := newBuffer() + + got := b.append("123") + want := 3 + + if got != want { + t.Errorf("Wrong length for string, got %d, expected %d for input '%s'", got, want, "123") + } +} + +func TestBufferAppendLn(t *testing.T) { + b := newBuffer() + + got := b.appendLn("123") + + // Adds carriage return and line feed + want := 5 + + if got != want { + t.Errorf("Wrong length for string, got %d, expected %d for input '%s'", got, want, "123") + } +} + +func TestBufferToString(t *testing.T) { + b := newBuffer() + b.append("foo") + + got := b.toString() + want := "foo" + + if got != want { + t.Errorf("Failed to convert to proper string") + } +} \ No newline at end of file