git clone https://git.lucas.co/go_mono.git
tiff/buffer_test.go (763B)
1 // Copyright 2011 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package tiff
6
7 import (
8 "io"
9 "strings"
10 "testing"
11 )
12
13 var readAtTests = []struct {
14 n int
15 off int64
16 s string
17 err error
18 }{
19 {2, 0, "ab", nil},
20 {6, 0, "abcdef", nil},
21 {3, 3, "def", nil},
22 {3, 5, "f", io.EOF},
23 {3, 6, "", io.EOF},
24 }
25
26 func TestReadAt(t *testing.T) {
27 r := newReaderAt(strings.NewReader("abcdef"))
28 b := make([]byte, 10)
29 for _, test := range readAtTests {
30 n, err := r.ReadAt(b[:test.n], test.off)
31 s := string(b[:n])
32 if s != test.s || err != test.err {
33 t.Errorf("buffer.ReadAt(<%v bytes>, %v): got %v, %q; want %v, %q", test.n, test.off, err, s, test.err, test.s)
34 }
35 }
36 }