| 43 | } |
| 44 | |
| 45 | func TestAddSyncWriteSyncer(t *testing.T) { |
| 46 | buf := &bytes.Buffer{} |
| 47 | concrete := &writeSyncSpy{Writer: buf} |
| 48 | ws := AddSync(concrete) |
| 49 | requireWriteWorks(t, ws) |
| 50 | |
| 51 | require.NoError(t, ws.Sync(), "Unexpected error syncing a WriteSyncer.") |
| 52 | require.True(t, concrete.Called(), "Expected to dispatch to concrete type's Sync method.") |
| 53 | |
| 54 | concrete.SetError(errors.New("fail")) |
| 55 | assert.Error(t, ws.Sync(), "Expected to propagate errors from concrete type's Sync method.") |
| 56 | } |
| 57 | |
| 58 | func TestAddSyncWriter(t *testing.T) { |
| 59 | // If we pass a plain io.Writer, make sure that we still get a WriteSyncer |