fork of go-git with some jj specific features
at main 938 B view raw
1package sync 2 3import ( 4 "testing" 5) 6 7func TestGetAndPutBytesBuffer(t *testing.T) { 8 buf := GetBytesBuffer() 9 if buf == nil { 10 t.Error("nil was not expected") 11 } 12 13 initialLen := buf.Len() 14 buf.Grow(initialLen * 2) 15 grownLen := buf.Len() 16 17 PutBytesBuffer(buf) 18 19 buf = GetBytesBuffer() 20 if buf.Len() != grownLen { 21 t.Error("bytes buffer was not reused") 22 } 23 24 buf2 := GetBytesBuffer() 25 if buf2.Len() != initialLen { 26 t.Errorf("new bytes buffer length: wanted %d got %d", initialLen, buf2.Len()) 27 } 28} 29 30func TestGetAndPutByteSlice(t *testing.T) { 31 slice := GetByteSlice() 32 if slice == nil { 33 t.Error("nil was not expected") 34 } 35 36 wanted := 16 * 1024 37 got := len(*slice) 38 if wanted != got { 39 t.Errorf("byte slice length: wanted %d got %d", wanted, got) 40 } 41 42 newByteSlice := make([]byte, wanted*2) 43 PutByteSlice(&newByteSlice) 44 45 newSlice := GetByteSlice() 46 if len(*newSlice) != len(newByteSlice) { 47 t.Error("byte slice was not reused") 48 } 49}