summaryrefslogtreecommitdiffstats
path: root/message_test.go
diff options
context:
space:
mode:
authorclsr <clsr@clsr.net>2017-09-01 16:11:42 +0200
committerclsr <clsr@clsr.net>2017-09-01 16:11:42 +0200
commit7e1f90f27d876db67158ca4787420ec30c18f86b (patch)
tree4526e5924c926af4814968a49c2dd7875fdf0dd0 /message_test.go
parentee431f1e85a8ee7d3c6e069c8858c671da1c2acd (diff)
downloadcnp-go-7e1f90f27d876db67158ca4787420ec30c18f86b.tar.gz
cnp-go-7e1f90f27d876db67158ca4787420ec30c18f86b.zip
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.
Diffstat (limited to 'message_test.go')
-rw-r--r--message_test.go2
1 files changed, 1 insertions, 1 deletions
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)