return nil, ErrNegativeCount
}
- b.lastByte = -1
- b.lastRuneSize = -1
-
for b.w-b.r < n && b.w-b.r < len(b.buf) && b.err == nil {
b.fill() // b.w-b.r < len(b.buf) => buffer is not full
}
}
}
-func TestNoUnreadRuneAfterPeek(t *testing.T) {
- br := NewReader(strings.NewReader("example"))
- br.ReadRune()
- br.Peek(1)
- if err := br.UnreadRune(); err == nil {
- t.Error("UnreadRune didn't fail after Peek")
- }
-}
-
-func TestNoUnreadByteAfterPeek(t *testing.T) {
- br := NewReader(strings.NewReader("example"))
- br.ReadByte()
- br.Peek(1)
- if err := br.UnreadByte(); err == nil {
- t.Error("UnreadByte didn't fail after Peek")
- }
-}
-
func TestUnreadByte(t *testing.T) {
segments := []string{"Hello, ", "world"}
r := NewReader(&StringReader{data: segments})