1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package bom_test
- import (
- "bytes"
- "io/ioutil"
- "testing"
- "go-common/app/admin/main/member/model/bom"
- "github.com/stretchr/testify/assert"
- )
- var testCases = []struct {
- Input []byte
- Expected []byte
- }{
- {
- Input: nil,
- Expected: nil,
- },
- {
- Input: []byte{},
- Expected: []byte{},
- },
- {
- Input: []byte{0xef},
- Expected: []byte{0xef},
- },
- {
- Input: []byte{0xef, 0xbb},
- Expected: []byte{0xef, 0xbb},
- },
- {
- Input: []byte{0xef, 0xbb, 0xbf},
- Expected: []byte{},
- },
- {
- Input: []byte{0xef, 0xbb, 0xbf, 0x41, 0x42, 0x43},
- Expected: []byte{0x41, 0x42, 0x43},
- },
- {
- Input: []byte{0xef, 0xbb, 0x41, 0x42, 0x43},
- Expected: []byte{0xef, 0xbb, 0x41, 0x42, 0x43},
- },
- {
- Input: []byte{0xef, 0x41, 0x42, 0x43},
- Expected: []byte{0xef, 0x41, 0x42, 0x43},
- },
- {
- Input: []byte{0x41, 0x42, 0x43},
- Expected: []byte{0x41, 0x42, 0x43},
- },
- }
- func TestClean(t *testing.T) {
- assert := assert.New(t)
- for _, tc := range testCases {
- output := bom.Clean(tc.Input)
- assert.Equal(tc.Expected, output)
- }
- }
- func TestReader(t *testing.T) {
- assert := assert.New(t)
- for _, tc := range testCases {
- // An input value of nil works differently to the Clean function.
- // In this case it results in an empty buffer, not nil.
- expected := tc.Expected
- if tc.Input == nil {
- expected = []byte{}
- }
- r1 := bytes.NewReader(tc.Input)
- r2 := bom.NewReader(r1)
- output, err := ioutil.ReadAll(r2)
- assert.NoError(err)
- assert.Equal(expected, output)
- }
- }
|