]> Cypherpunks repositories - gostls13.git/commitdiff
ByteBuffer.WriteByte
authorRobert Griesemer <gri@golang.org>
Fri, 15 May 2009 00:03:47 +0000 (17:03 -0700)
committerRobert Griesemer <gri@golang.org>
Fri, 15 May 2009 00:03:47 +0000 (17:03 -0700)
R=r
DELTA=17  (10 added, 0 deleted, 7 changed)
OCL=28860
CL=28862

src/lib/io/bytebuffer.go
src/lib/io/bytebuffer_test.go

index bc6a73741b751b19369dda6ff87d9ca9a02a246d..5d4cd8add394722d876242c619f59ce4ee89d64c 100644 (file)
@@ -74,6 +74,13 @@ func (b *ByteBuffer) Write(p []byte) (n int, err os.Error) {
        return n, nil
 }
 
+// WriteByte appends the byte c to the buffer.
+// Because Write never fails and WriteByte is not part of the
+// io.Writer interface, it does not need to return a value.
+func (b *ByteBuffer) WriteByte(c byte) {
+       b.Write([]byte{c});
+}
+
 // Read reads the next len(p) bytes from the buffer or until the buffer
 // is drained.  The return value n is the number of bytes read; err is always nil.
 func (b *ByteBuffer) Read(p []byte) (n int, err os.Error) {
index e91a6415ee1517ede239c3f06b77ac3412d0837c..5a54322237f978219f459a54a64cd6f86ca6e5dc 100644 (file)
@@ -101,20 +101,23 @@ func TestBasicOperations(t *testing.T) {
                }
                check(t, "TestBasicOperations (4)", &buf, "a");
 
-               n, err = buf.Write(data[1 : 26]);
-               if n != 25 {
+               buf.WriteByte(data[1]);
+               check(t, "TestBasicOperations (5)", &buf, "ab");
+
+               n, err = buf.Write(data[2 : 26]);
+               if n != 24 {
                        t.Errorf("wrote 25 bytes, but n == %d\n", n);
                }
-               check(t, "TestBasicOperations (5)", &buf, string(data[0 : 26]));
+               check(t, "TestBasicOperations (6)", &buf, string(data[0 : 26]));
 
                buf.Truncate(26);
-               check(t, "TestBasicOperations (6)", &buf, string(data[0 : 26]));
+               check(t, "TestBasicOperations (7)", &buf, string(data[0 : 26]));
 
                buf.Truncate(20);
-               check(t, "TestBasicOperations (7)", &buf, string(data[0 : 20]));
+               check(t, "TestBasicOperations (8)", &buf, string(data[0 : 20]));
 
-               empty(t, "TestBasicOperations (8)", &buf, string(data[0 : 20]), make([]byte, 5));
-               empty(t, "TestBasicOperations (9)", &buf, "", make([]byte, 100));
+               empty(t, "TestBasicOperations (9)", &buf, string(data[0 : 20]), make([]byte, 5));
+               empty(t, "TestBasicOperations (10)", &buf, "", make([]byte, 100));
        }
 }