github.com/observiq/carbon@v0.9.11-0.20200820160507-1b872e368a5e/operator/builtin/input/windows/buffer_test.go (about) 1 // +build windows 2 3 package windows 4 5 import ( 6 "testing" 7 8 "github.com/stretchr/testify/require" 9 "golang.org/x/text/encoding/unicode" 10 ) 11 12 func TestBufferReadBytes(t *testing.T) { 13 buffer := NewBuffer() 14 utf8 := []byte("test") 15 utf16, _ := unicode.UTF16(unicode.LittleEndian, unicode.UseBOM).NewEncoder().Bytes(utf8) 16 for i, b := range utf16 { 17 buffer.buffer[i] = b 18 } 19 offset := uint32(len(utf16)) 20 bytes, err := buffer.ReadBytes(offset) 21 require.NoError(t, err) 22 require.Equal(t, utf8, bytes) 23 } 24 25 func TestBufferReadString(t *testing.T) { 26 buffer := NewBuffer() 27 utf8 := []byte("test") 28 utf16, _ := unicode.UTF16(unicode.LittleEndian, unicode.UseBOM).NewEncoder().Bytes(utf8) 29 for i, b := range utf16 { 30 buffer.buffer[i] = b 31 } 32 offset := uint32(len(utf16)) 33 result, err := buffer.ReadString(offset) 34 require.NoError(t, err) 35 require.Equal(t, "test", result) 36 } 37 38 func TestBufferUpdateSize(t *testing.T) { 39 buffer := NewBuffer() 40 buffer.UpdateSize(1) 41 require.Equal(t, 1, len(buffer.buffer)) 42 } 43 44 func TestBufferSize(t *testing.T) { 45 buffer := NewBuffer() 46 require.Equal(t, uint32(defaultBufferSize), buffer.Size()) 47 } 48 49 func TestBufferFirstByte(t *testing.T) { 50 buffer := NewBuffer() 51 buffer.buffer[0] = '1' 52 require.Equal(t, &buffer.buffer[0], buffer.FirstByte()) 53 }