MCPcopy
hub / github.com/rs/zerolog / TestMultiLevelWriter_Write

Function TestMultiLevelWriter_Write

writer_test.go:373–417  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

371}
372
373func TestMultiLevelWriter_Write(t *testing.T) {
374 // Test successful writes
375 buf1 := &bytes.Buffer{}
376 buf2 := &bytes.Buffer{}
377
378 multiWriter := MultiLevelWriter(buf1, buf2)
379
380 data := []byte("test data")
381 n, err := multiWriter.Write(data)
382 if err != nil {
383 t.Errorf("Write failed: %v", err)
384 }
385 if n != len(data) {
386 t.Errorf("Write returned wrong length: got %d, want %d", n, len(data))
387 }
388
389 if got1 := buf1.String(); got1 != string(data) {
390 t.Errorf("First writer got wrong data: got %q, want %q", got1, string(data))
391 }
392 if got2 := buf2.String(); got2 != string(data) {
393 t.Errorf("Second writer got wrong data: got %q, want %q", got2, string(data))
394 }
395
396 // Test with error writer
397 errorWriter1 := &errorWriter{writeError: io.EOF}
398 buf3 := &bytes.Buffer{}
399
400 errorMultiWriter := MultiLevelWriter(errorWriter1, buf3)
401
402 _, err = errorMultiWriter.Write(data)
403 if err != io.EOF {
404 t.Errorf("Write should have returned EOF error, got: %v", err)
405 }
406
407 // Test with short write
408 shortWriter := &errorWriter{shortWrite: true}
409 buf4 := &bytes.Buffer{}
410
411 shortMultiWriter := MultiLevelWriter(shortWriter, buf4)
412
413 _, err = shortMultiWriter.Write(data)
414 if err != io.ErrShortWrite {
415 t.Errorf("Write should have returned ErrShortWrite, got: %v", err)
416 }
417}
418
419func TestMultiLevelWriter_WriteLevel(t *testing.T) {
420 // Test successful writes

Callers

nothing calls this directly

Calls 3

MultiLevelWriterFunction · 0.85
WriteMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected