@@ -186,54 +186,50 @@ func TestOffset(t *testing.T) {
186
186
187
187
const want = "hello, world\n "
188
188
189
- t .Run ("Read" , func (t * testing.T ) {
190
- got := make ([]byte , len (want ))
191
- n , err := file .Read (got )
192
- if err != nil {
193
- t .Fatal ("Read:" , err )
194
- }
195
- if n != len (want ) {
196
- t .Fatal ("Read:" , n )
197
- }
198
- if string (got ) != want {
199
- t .Fatalf ("Read: %q" , got )
200
- }
201
- })
189
+ // Read the entire file.
190
+ got := make ([]byte , len (want ))
191
+ n , err := file .Read (got )
192
+ if err != nil {
193
+ t .Fatal ("Read:" , err )
194
+ }
195
+ if n != len (want ) {
196
+ t .Fatal ("Read:" , n )
197
+ }
198
+ if string (got ) != want {
199
+ t .Fatalf ("Read: %q" , got )
200
+ }
202
201
203
- t .Run ("EOF" , func (t * testing.T ) {
204
- var buf [1 ]byte
205
- n , err := file .Read (buf [:])
206
- if err != io .EOF {
207
- t .Fatal ("Read:" , err )
208
- }
209
- if n != 0 {
210
- t .Fatal ("Read:" , n )
211
- }
212
- })
202
+ // Try to read one byte; confirm we're at the EOF.
203
+ var buf [1 ]byte
204
+ n , err = file .Read (buf [:])
205
+ if err != io .EOF {
206
+ t .Fatal ("Read:" , err )
207
+ }
208
+ if n != 0 {
209
+ t .Fatal ("Read:" , n )
210
+ }
213
211
214
- t .Run ("Offset" , func (t * testing.T ) {
215
- seeker := file .(io.Seeker )
216
- n , err := seeker .Seek (0 , io .SeekCurrent )
217
- if err != nil {
218
- t .Fatal ("Read:" , err )
219
- }
220
- if n != int64 (len (want )) {
221
- t .Fatal ("Read:" , n )
222
- }
223
- })
224
-
225
- t .Run ("ReadAt" , func (t * testing.T ) {
226
- at := file .(io.ReaderAt )
227
- got := make ([]byte , len (want ))
228
- n , err := at .ReadAt (got , 0 )
229
- if err != nil {
230
- t .Fatal ("ReadAt:" , err )
231
- }
232
- if n != len (want ) {
233
- t .Fatal ("ReadAt:" , n )
234
- }
235
- if string (got ) != want {
236
- t .Fatalf ("ReadAt: %q" , got )
237
- }
238
- })
212
+ // Use seek to get the offset at the EOF.
213
+ seeker := file .(io.Seeker )
214
+ off , err := seeker .Seek (0 , io .SeekCurrent )
215
+ if err != nil {
216
+ t .Fatal ("Seek:" , err )
217
+ }
218
+ if off != int64 (len (want )) {
219
+ t .Fatal ("Seek:" , off )
220
+ }
221
+
222
+ // Use ReadAt to read the entire file, ignoring the offset.
223
+ at := file .(io.ReaderAt )
224
+ got = make ([]byte , len (want ))
225
+ n , err = at .ReadAt (got , 0 )
226
+ if err != nil {
227
+ t .Fatal ("ReadAt:" , err )
228
+ }
229
+ if n != len (want ) {
230
+ t .Fatal ("ReadAt:" , n )
231
+ }
232
+ if string (got ) != want {
233
+ t .Fatalf ("ReadAt: %q" , got )
234
+ }
239
235
}
0 commit comments