(t *testing.T)
| 452 | } |
| 453 | |
| 454 | func TestMultiLevelWriter_Close(t *testing.T) { |
| 455 | buf1 := &closableBuffer{Buffer: &bytes.Buffer{}, closed: false} |
| 456 | buf2 := &bytes.Buffer{} // non-closable |
| 457 | |
| 458 | multiWriter := MultiLevelWriter(buf1, buf2) |
| 459 | |
| 460 | // Cast to concrete type to access Close |
| 461 | mw := multiWriter.(multiLevelWriter) |
| 462 | |
| 463 | err := mw.Close() |
| 464 | if err != nil { |
| 465 | t.Errorf("Close failed: %v", err) |
| 466 | } |
| 467 | |
| 468 | if !buf1.closed { |
| 469 | t.Error("First closable writer should have been closed") |
| 470 | } |
| 471 | |
| 472 | // Test multiLevelWriter Close with error |
| 473 | errorBuf1 := &closableBuffer{Buffer: &bytes.Buffer{}, closed: false, closeError: io.EOF} |
| 474 | errorBuf2 := &bytes.Buffer{} // non-closable |
| 475 | |
| 476 | errorMultiWriter := MultiLevelWriter(errorBuf1, errorBuf2) |
| 477 | emw := errorMultiWriter.(multiLevelWriter) |
| 478 | |
| 479 | err = emw.Close() |
| 480 | if err != io.EOF { |
| 481 | t.Errorf("Close should have returned EOF error, got: %v", err) |
| 482 | } |
| 483 | if !errorBuf1.closed { |
| 484 | t.Error("First closable writer should have been closed") |
| 485 | } |
| 486 | } |
| 487 | |
| 488 | func TestNewTestWriter(t *testing.T) { |
| 489 | writer := NewTestWriter(t) |
nothing calls this directly
no test coverage detected