mirror of
https://github.com/golang/go
synced 2024-11-18 11:04:42 -07:00
Add ReadByte to bytebuffer
R=rsc APPROVED=rsc DELTA=24 (24 added, 0 deleted, 0 changed) OCL=30459 CL=30540
This commit is contained in:
parent
efc4088ccd
commit
08aab44e48
@ -102,6 +102,17 @@ func (b *ByteBuffer) Read(p []byte) (n int, err os.Error) {
|
||||
return n, nil
|
||||
}
|
||||
|
||||
// ReadByte reads and returns the next byte from the buffer.
|
||||
// If no byte is available, it returns error ErrEOF.
|
||||
func (b *ByteBuffer) ReadByte() (c byte, err os.Error) {
|
||||
if b.off >= len(b.buf) {
|
||||
return 0, ErrEOF;
|
||||
}
|
||||
c = b.buf[b.off];
|
||||
b.off++;
|
||||
return c, nil;
|
||||
}
|
||||
|
||||
// NewByteBufferFromArray creates and initializes a new ByteBuffer
|
||||
// with buf as its initial contents.
|
||||
func NewByteBufferFromArray(buf []byte) *ByteBuffer {
|
||||
|
@ -118,6 +118,19 @@ func TestBasicOperations(t *testing.T) {
|
||||
|
||||
empty(t, "TestBasicOperations (9)", &buf, string(data[0 : 20]), make([]byte, 5));
|
||||
empty(t, "TestBasicOperations (10)", &buf, "", make([]byte, 100));
|
||||
|
||||
buf.WriteByte(data[1]);
|
||||
c, err := buf.ReadByte();
|
||||
if err != nil {
|
||||
t.Errorf("ReadByte unexpected eof\n");
|
||||
}
|
||||
if c != data[1] {
|
||||
t.Errorf("ReadByte wrong value c=%v\n", c);
|
||||
}
|
||||
c, err = buf.ReadByte();
|
||||
if err == nil {
|
||||
t.Errorf("ReadByte unexpected not eof\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user