}
piper, pipew := io.Pipe()
- pb := bufio.NewReader(piper)
+ pb := bufio.NewScanner(piper)
go sng(pipew, fn, img)
defer piper.Close()
continue
}
defer sf.Close()
- sb := bufio.NewReader(sf)
+ sb := bufio.NewScanner(sf)
if err != nil {
t.Error(fn, err)
continue
// Compare the two, in SNG format, line by line.
for {
- ps, perr := pb.ReadString('\n')
- ss, serr := sb.ReadString('\n')
- if perr == io.EOF && serr == io.EOF {
+ pdone := pb.Scan()
+ sdone := sb.Scan()
+ if pdone && sdone {
break
}
- if perr != nil {
- t.Error(fn, perr)
- break
- }
- if serr != nil {
- t.Error(fn, serr)
+ if pdone || sdone {
+ t.Errorf("%s: Different sizes", fn)
break
}
+ ps := pb.Text()
+ ss := sb.Text()
if ps != ss {
t.Errorf("%s: Mismatch\n%sversus\n%s\n", fn, ps, ss)
break
}
}
+ if pb.Err() != nil {
+ t.Error(fn, pb.Err())
+ }
+ if sb.Err() != nil {
+ t.Error(fn, sb.Err())
+ }
}
}