MCPcopy
hub / github.com/awnumar/memguard / TestNewBufferFromReaderUntil

Function TestNewBufferFromReaderUntil

buffer_test.go:206–289  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

204}
205
206func TestNewBufferFromReaderUntil(t *testing.T) {
207 data := make([]byte, 5000)
208 data[4999] = 1
209 r := bytes.NewReader(data)
210 b, err := NewBufferFromReaderUntil(r, 1)
211 if err != nil {
212 t.Error(err)
213 }
214 if b.Size() != 4999 {
215 t.Error("buffer has incorrect size")
216 }
217 for i := range b.Bytes() {
218 if b.Bytes()[i] != 0 {
219 t.Error("incorrect data")
220 }
221 }
222 if b.IsMutable() {
223 t.Error("expected buffer to be immutable")
224 }
225 b.Destroy()
226
227 r = bytes.NewReader(data[:32])
228 b, err = NewBufferFromReaderUntil(r, 1)
229 if err == nil {
230 t.Error("expected error got nil")
231 }
232 if b.Size() != 32 {
233 t.Error("invalid size")
234 }
235 for i := range b.Bytes() {
236 if b.Bytes()[i] != 0 {
237 t.Error("incorrect data")
238 }
239 }
240 if b.IsMutable() {
241 t.Error("expected buffer to be immutable")
242 }
243 b.Destroy()
244
245 r = bytes.NewReader([]byte{'x'})
246 b, err = NewBufferFromReaderUntil(r, 'x')
247 if err != nil {
248 t.Error(err)
249 }
250 if b.Size() != 0 {
251 t.Error("expected no data")
252 }
253 if b.IsAlive() {
254 t.Error("expected dead buffer")
255 }
256
257 r = bytes.NewReader([]byte(""))
258 b, err = NewBufferFromReaderUntil(r, 1)
259 if err == nil {
260 t.Error("expected error got nil")
261 }
262 if b.IsAlive() {
263 t.Error("expected destroyed buffer")

Callers

nothing calls this directly

Calls 6

NewBufferFromReaderUntilFunction · 0.85
BytesMethod · 0.80
IsMutableMethod · 0.80
IsAliveMethod · 0.80
SizeMethod · 0.45
DestroyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…