83 lines
1.7 KiB
Go
83 lines
1.7 KiB
Go
|
package s3crypto
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestBytesReadWriteSeeker_Read(t *testing.T) {
|
||
|
b := &bytesReadWriteSeeker{[]byte{1, 2, 3}, 0}
|
||
|
expected := []byte{1, 2, 3}
|
||
|
buf := make([]byte, 3)
|
||
|
n, err := b.Read(buf)
|
||
|
|
||
|
if err != nil {
|
||
|
t.Errorf("expected no error, but received %v", err)
|
||
|
}
|
||
|
|
||
|
if e, a := 3, n; e != a {
|
||
|
t.Errorf("expected %d, but received %d", e, a)
|
||
|
}
|
||
|
|
||
|
if !bytes.Equal(expected, buf) {
|
||
|
t.Error("expected equivalent byte slices, but received otherwise")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestBytesReadWriteSeeker_Write(t *testing.T) {
|
||
|
b := &bytesReadWriteSeeker{}
|
||
|
expected := []byte{1, 2, 3}
|
||
|
buf := make([]byte, 3)
|
||
|
n, err := b.Write([]byte{1, 2, 3})
|
||
|
|
||
|
if err != nil {
|
||
|
t.Errorf("expected no error, but received %v", err)
|
||
|
}
|
||
|
|
||
|
if e, a := 3, n; e != a {
|
||
|
t.Errorf("expected %d, but received %d", e, a)
|
||
|
}
|
||
|
|
||
|
n, err = b.Read(buf)
|
||
|
if err != nil {
|
||
|
t.Errorf("expected no error, but received %v", err)
|
||
|
}
|
||
|
|
||
|
if e, a := 3, n; e != a {
|
||
|
t.Errorf("expected %d, but received %d", e, a)
|
||
|
}
|
||
|
|
||
|
if !bytes.Equal(expected, buf) {
|
||
|
t.Error("expected equivalent byte slices, but received otherwise")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestBytesReadWriteSeeker_Seek(t *testing.T) {
|
||
|
b := &bytesReadWriteSeeker{[]byte{1, 2, 3}, 0}
|
||
|
expected := []byte{2, 3}
|
||
|
m, err := b.Seek(1, 0)
|
||
|
|
||
|
if err != nil {
|
||
|
t.Errorf("expected no error, but received %v", err)
|
||
|
}
|
||
|
|
||
|
if e, a := 1, int(m); e != a {
|
||
|
t.Errorf("expected %d, but received %d", e, a)
|
||
|
}
|
||
|
|
||
|
buf := make([]byte, 3)
|
||
|
n, err := b.Read(buf)
|
||
|
|
||
|
if err != nil {
|
||
|
t.Errorf("expected no error, but received %v", err)
|
||
|
}
|
||
|
|
||
|
if e, a := 2, n; e != a {
|
||
|
t.Errorf("expected %d, but received %d", e, a)
|
||
|
}
|
||
|
|
||
|
if !bytes.Equal(expected, buf[:n]) {
|
||
|
t.Error("expected equivalent byte slices, but received otherwise")
|
||
|
}
|
||
|
}
|