From 39f1f7c4890e64389bccbca8fd3b5968ca38d607 Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Mon, 19 Dec 2016 12:31:08 +1100 Subject: [PATCH] TestOutMessageAppendString --- internal/buffer/out_message_test.go | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/internal/buffer/out_message_test.go b/internal/buffer/out_message_test.go index 4adce97..44bde53 100644 --- a/internal/buffer/out_message_test.go +++ b/internal/buffer/out_message_test.go @@ -119,7 +119,33 @@ func TestOutMessageAppend(t *testing.T) { } func TestOutMessageAppendString(t *testing.T) { - t.Fatal("TODO") + var om OutMessage + om.Reset() + + // Append some payload. + const wantPayload = "tacoburrito" + om.AppendString(wantPayload[:4]) + om.AppendString(wantPayload[4:]) + + // The result should be a zeroed header followed by the desired payload. + const wantLen = int(OutMessageInitialSize) + len(wantPayload) + + if got, want := om.Len(), wantLen; got != want { + t.Errorf("om.Len() = %d, want %d", got, want) + } + + b := om.Bytes() + if got, want := len(b), wantLen; got != want { + t.Fatalf("len(om.Bytes()) = %d, want %d", got, want) + } + + want := append( + make([]byte, OutMessageInitialSize), + wantPayload...) + + if !bytes.Equal(b, want) { + t.Error("messages differ") + } } func TestOutMessageShrinkTo(t *testing.T) {