161
for _, e := range examples {
162
dbuf := make([]byte, StdEncoding.DecodedLen(len(e.e)))
163
_, err := StdEncoding.Decode(dbuf, []byte(e.e))
165
for _, tc := range testCases {
166
dbuf := make([]byte, StdEncoding.DecodedLen(len(tc.input)))
167
_, err := StdEncoding.Decode(dbuf, []byte(tc.input))
170
t.Error("Decoder wrongly detected coruption in", tc.input)
164
174
switch err := err.(type) {
165
175
case CorruptInputError:
166
testEqual(t, "Corruption in %q at offset %v, want %v", e.e, int(err), e.p)
176
testEqual(t, "Corruption in %q at offset %v, want %v", tc.input, int(err), tc.offset)
168
t.Error("Decoder failed to detect corruption in", e)
178
t.Error("Decoder failed to detect corruption in", tc)
257
269
wantErr := errors.New("my error")
258
270
next <- nextRead{5, nil}
259
271
next <- nextRead{10, wantErr}
272
next <- nextRead{0, wantErr}
260
273
d := NewDecoder(StdEncoding, &faultInjectReader{
261
274
source: "VHdhcyBicmlsbGlnLCBhbmQgdGhlIHNsaXRoeSB0b3Zlcw==", // twas brillig...
275
288
t.Errorf("timeout; Decoder blocked without returning an error")
292
func TestDecoderIssue4779(t *testing.T) {
293
encoded := `CP/EAT8AAAEF
294
AQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAAB
295
BAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHx
296
Y3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm
297
9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS
298
0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0
299
pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A9VSSSSUpJJJJSkkkJ+Tj
300
1kiy1jCJJDnAcCTykpKkuQ6p/jN6FgmxlNduXawwAzaGH+V6jn/R/wCt71zdn+N/qL3kVYFNYB4N
301
ji6PDVjWpKp9TSXnvTf8bFNjg3qOEa2n6VlLpj/rT/pf567DpX1i6L1hs9Py67X8mqdtg/rUWbbf
302
+gkp0kkkklKSSSSUpJJJJT//0PVUkkklKVLq3WMDpGI7KzrNjADtYNXvI/Mqr/Pd/q9W3vaxjnvM
303
NaCXE9gNSvGPrf8AWS3qmba5jjsJhoB0DAf0NDf6sevf+/lf8Hj0JJATfWT6/dV6oXU1uOLQeKKn
304
EQP+Hubtfe/+R7Mf/g7f5xcocp++Z11JMCJPgFBxOg7/AOuqDx8I/ikpkXkmSdU8mJIJA/O8EMAy
305
j+mSARB/17pKVXYWHXjsj7yIex0PadzXMO1zT5KHoNA3HT8ietoGhgjsfA+CSnvvqh/jJtqsrwOv
306
2b6NGNzXfTYexzJ+nU7/ALkf4P8Awv6P9KvTQQ4AgyDqCF85Pho3CTB7eHwXoH+LT65uZbX9X+o2
309
encodedShort := strings.Replace(encoded, "\n", "", -1)
311
dec := NewDecoder(StdEncoding, bytes.NewBufferString(encoded))
312
res1, err := ioutil.ReadAll(dec)
314
t.Errorf("ReadAll failed: %v", err)
317
dec = NewDecoder(StdEncoding, bytes.NewBufferString(encodedShort))
319
res2, err = ioutil.ReadAll(dec)
321
t.Errorf("ReadAll failed: %v", err)
324
if !bytes.Equal(res1, res2) {
325
t.Error("Decoded results not equal")