From 7e1f90f27d876db67158ca4787420ec30c18f86b Mon Sep 17 00:00:00 2001 From: clsr Date: Fri, 1 Sep 2017 16:11:42 +0200 Subject: Distinguish between response length=0 and no length parameter Response.Length returns -1 when the parameter is not present and 0 when it's set to 0. Response.SetLength will only unset the parameter when given -1. --- message_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'message_test.go') diff --git a/message_test.go b/message_test.go index 6955fc3..1a73fa5 100644 --- a/message_test.go +++ b/message_test.go @@ -92,7 +92,7 @@ func TestParse(t *testing.T) { } } else if !msgEqual(msg, tst.m) { t.Errorf("\nexpected: %+v\ngot: %+v", tst.m, msg) - } else if l := msg.Length(); tst.v == nil && l != int64(len(tst.b)) { + } else if l := msg.Length(); tst.v == nil && (l != int64(len(tst.b)) && !(l < 0 == (len(tst.b) == 0))) { t.Errorf("%+v: expected length %d, got %d", tst.m, len(tst.b), l) } else if err = msg.Validate(); !errorEqual(err, tst.v) { t.Errorf("%+v: expected validation error %+v, got %+v (%s)", msg, tst.v, err, err) -- cgit