1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
package apparmor
import (
"bytes"
"fmt"
"testing"
)
func TestHandleWriter(t *testing.T) {
status := []int64{}
var buffer bytes.Buffer
out := &nullWriteCloser{handleWriter(&buffer, func(percent int64, _ int64) {
status = append(status, percent)
})}
for i := range 101 {
for j := range 100 {
n, err := fmt.Fprintf(out, "\t (%02d.%02d/100%s)\r", i, j, "%")
if err != nil {
t.Fatal(err, n)
}
if i == 100 {
break
}
}
}
if len(status) != 100 {
t.Fatal(status)
}
for i := int64(1); i < 101; i++ {
if status[i-1] != i {
t.Fatal(status[i], i)
}
}
output := buffer.String()
// Do not check output carefully
if len(output) == 0 {
t.Fatal(output)
}
}
|