ref: df1f2fb3daa1acd25c88510f259d5535fb482126
dir: /internal/iolimit/capped_capture_writer_test.go/
package iolimit_test
import (
"bytes"
"testing"
"codeberg.org/lindenii/furgit/internal/iolimit"
)
func TestCappedCaptureWriterWithinLimit(t *testing.T) {
t.Parallel()
writer := iolimit.NewCappedCaptureWriter(8)
_, _ = writer.Write([]byte("hello"))
_, _ = writer.Write([]byte("!"))
if got := writer.Bytes(); !bytes.Equal(got, []byte("hello!")) {
t.Fatalf("Bytes() = %q, want %q", got, "hello!")
}
}
func TestCappedCaptureWriterExceededLimit(t *testing.T) {
t.Parallel()
writer := iolimit.NewCappedCaptureWriter(4)
_, _ = writer.Write([]byte("abcd"))
_, _ = writer.Write([]byte("x"))
if got := writer.Bytes(); got != nil {
t.Fatalf("Bytes() = %q, want nil after overflow", got)
}
}
func TestCappedCaptureWriterZeroLimit(t *testing.T) {
t.Parallel()
writer := iolimit.NewCappedCaptureWriter(0)
_, _ = writer.Write([]byte("x"))
if got := writer.Bytes(); got != nil {
t.Fatalf("Bytes() = %q, want nil at zero limit", got)
}
}