Browse code

TestDisplayJSONMessagesStreamInvalidJSON: fix error check

As pointed out by govet,

> pkg/jsonmessage/jsonmessage_test.go:231:94: nilness: nil dereference in dynamic method call (govet)
> if err := DisplayJSONMessagesStream(reader, data, inFd, false, nil); err == nil && err.Error()[:17] != "invalid character" {
> ^

The nil deref never happened as err was always non-nil, and so the check
for error message text was not performed.

Fix this, and while at it, refactor the code a bit.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

Kir Kolyshkin authored on 2019/08/06 10:59:35
Showing 1 changed files
... ...
@@ -228,8 +228,9 @@ func TestDisplayJSONMessagesStreamInvalidJSON(t *testing.T) {
228 228
 	reader := strings.NewReader("This is not a 'valid' JSON []")
229 229
 	inFd, _ = term.GetFdInfo(reader)
230 230
 
231
-	if err := DisplayJSONMessagesStream(reader, data, inFd, false, nil); err == nil && err.Error()[:17] != "invalid character" {
232
-		t.Fatalf("Should have thrown an error (invalid character in ..), got %q", err)
231
+	exp := "invalid character "
232
+	if err := DisplayJSONMessagesStream(reader, data, inFd, false, nil); err == nil || !strings.HasPrefix(err.Error(), exp) {
233
+		t.Fatalf("Expected error (%s...), got %q", exp, err)
233 234
 	}
234 235
 }
235 236