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