...
Run Format

Source file src/internal/poll/writev_test.go

Documentation: internal/poll

  // Copyright 2016 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 poll_test
  
  import (
  	"internal/poll"
  	"reflect"
  	"testing"
  )
  
  func TestConsume(t *testing.T) {
  	tests := []struct {
  		in      [][]byte
  		consume int64
  		want    [][]byte
  	}{
  		{
  			in:      [][]byte{[]byte("foo"), []byte("bar")},
  			consume: 0,
  			want:    [][]byte{[]byte("foo"), []byte("bar")},
  		},
  		{
  			in:      [][]byte{[]byte("foo"), []byte("bar")},
  			consume: 2,
  			want:    [][]byte{[]byte("o"), []byte("bar")},
  		},
  		{
  			in:      [][]byte{[]byte("foo"), []byte("bar")},
  			consume: 3,
  			want:    [][]byte{[]byte("bar")},
  		},
  		{
  			in:      [][]byte{[]byte("foo"), []byte("bar")},
  			consume: 4,
  			want:    [][]byte{[]byte("ar")},
  		},
  		{
  			in:      [][]byte{nil, nil, nil, []byte("bar")},
  			consume: 1,
  			want:    [][]byte{[]byte("ar")},
  		},
  		{
  			in:      [][]byte{nil, nil, nil, []byte("foo")},
  			consume: 0,
  			want:    [][]byte{[]byte("foo")},
  		},
  		{
  			in:      [][]byte{nil, nil, nil},
  			consume: 0,
  			want:    [][]byte{},
  		},
  	}
  	for i, tt := range tests {
  		in := tt.in
  		poll.Consume(&in, tt.consume)
  		if !reflect.DeepEqual(in, tt.want) {
  			t.Errorf("%d. after consume(%d) = %+v, want %+v", i, tt.consume, in, tt.want)
  		}
  	}
  }
  

View as plain text