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  }