From 8f91c777559748fa6e857d9fc1f4ae079a532813 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Mon, 3 Oct 2016 16:03:15 -0400 Subject: Adding ability to serve TLS directly from Mattermost server (#4119) --- vendor/golang.org/x/net/http2/fixed_buffer_test.go | 128 +++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 vendor/golang.org/x/net/http2/fixed_buffer_test.go (limited to 'vendor/golang.org/x/net/http2/fixed_buffer_test.go') diff --git a/vendor/golang.org/x/net/http2/fixed_buffer_test.go b/vendor/golang.org/x/net/http2/fixed_buffer_test.go new file mode 100644 index 000000000..f5432f8d8 --- /dev/null +++ b/vendor/golang.org/x/net/http2/fixed_buffer_test.go @@ -0,0 +1,128 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package http2 + +import ( + "reflect" + "testing" +) + +var bufferReadTests = []struct { + buf fixedBuffer + read, wn int + werr error + wp []byte + wbuf fixedBuffer +}{ + { + fixedBuffer{[]byte{'a', 0}, 0, 1}, + 5, 1, nil, []byte{'a'}, + fixedBuffer{[]byte{'a', 0}, 0, 0}, + }, + { + fixedBuffer{[]byte{0, 'a'}, 1, 2}, + 5, 1, nil, []byte{'a'}, + fixedBuffer{[]byte{0, 'a'}, 0, 0}, + }, + { + fixedBuffer{[]byte{'a', 'b'}, 0, 2}, + 1, 1, nil, []byte{'a'}, + fixedBuffer{[]byte{'a', 'b'}, 1, 2}, + }, + { + fixedBuffer{[]byte{}, 0, 0}, + 5, 0, errReadEmpty, []byte{}, + fixedBuffer{[]byte{}, 0, 0}, + }, +} + +func TestBufferRead(t *testing.T) { + for i, tt := range bufferReadTests { + read := make([]byte, tt.read) + n, err := tt.buf.Read(read) + if n != tt.wn { + t.Errorf("#%d: wn = %d want %d", i, n, tt.wn) + continue + } + if err != tt.werr { + t.Errorf("#%d: werr = %v want %v", i, err, tt.werr) + continue + } + read = read[:n] + if !reflect.DeepEqual(read, tt.wp) { + t.Errorf("#%d: read = %+v want %+v", i, read, tt.wp) + } + if !reflect.DeepEqual(tt.buf, tt.wbuf) { + t.Errorf("#%d: buf = %+v want %+v", i, tt.buf, tt.wbuf) + } + } +} + +var bufferWriteTests = []struct { + buf fixedBuffer + write, wn int + werr error + wbuf fixedBuffer +}{ + { + buf: fixedBuffer{ + buf: []byte{}, + }, + wbuf: fixedBuffer{ + buf: []byte{}, + }, + }, + { + buf: fixedBuffer{ + buf: []byte{1, 'a'}, + }, + write: 1, + wn: 1, + wbuf: fixedBuffer{ + buf: []byte{0, 'a'}, + w: 1, + }, + }, + { + buf: fixedBuffer{ + buf: []byte{'a', 1}, + r: 1, + w: 1, + }, + write: 2, + wn: 2, + wbuf: fixedBuffer{ + buf: []byte{0, 0}, + w: 2, + }, + }, + { + buf: fixedBuffer{ + buf: []byte{}, + }, + write: 5, + werr: errWriteFull, + wbuf: fixedBuffer{ + buf: []byte{}, + }, + }, +} + +func TestBufferWrite(t *testing.T) { + for i, tt := range bufferWriteTests { + n, err := tt.buf.Write(make([]byte, tt.write)) + if n != tt.wn { + t.Errorf("#%d: wrote %d bytes; want %d", i, n, tt.wn) + continue + } + if err != tt.werr { + t.Errorf("#%d: error = %v; want %v", i, err, tt.werr) + continue + } + if !reflect.DeepEqual(tt.buf, tt.wbuf) { + t.Errorf("#%d: buf = %+v; want %+v", i, tt.buf, tt.wbuf) + } + } +} -- cgit v1.2.3-1-g7c22