From 116474bcc35d6f243b5e22c7c51145fcf8e1c6b0 Mon Sep 17 00:00:00 2001 From: lowgame <128625014+lowgame@users.noreply.github.com> Date: Wed, 7 Oct 2026 21:56:42 +0300 Subject: [PATCH] fix(echotest): trim single newline input --- echotest/reader.go | 2 +- echotest/reader_test.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/echotest/reader.go b/echotest/reader.go index 0caceca02..db7af0498 100644 --- a/echotest/reader.go +++ b/echotest/reader.go @@ -15,7 +15,7 @@ type loadBytesOpts func([]byte) []byte // TrimNewlineEnd instructs LoadBytes to remove `\n` from the end of loaded file. func TrimNewlineEnd(bytes []byte) []byte { bLen := len(bytes) - if bLen > 1 && bytes[bLen-1] == '\n' { + if bLen > 0 && bytes[bLen-1] == '\n' { bytes = bytes[:bLen-1] } return bytes diff --git a/echotest/reader_test.go b/echotest/reader_test.go index 23b3c2dd2..e56681c0a 100644 --- a/echotest/reader_test.go +++ b/echotest/reader_test.go @@ -19,3 +19,7 @@ func TestLoadBytesOK_TrimNewlineEnd(t *testing.T) { data := LoadBytes(t, "testdata/test.json", TrimNewlineEnd) assert.Equal(t, []byte(testJSONContent), data) } + +func TestTrimNewlineEnd(t *testing.T) { + assert.Empty(t, TrimNewlineEnd([]byte("\n"))) +}