diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2024-05-11 15:20:45 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-11 19:20:45 +0000 |
| commit | 916ebe6ea6d0319a37f0c4b62fd5e4a189f3dc50 (patch) | |
| tree | 89422b20e758e8ccf5c35cf6cd1f36f759532362 /template_test.go | |
| parent | a55441b886ee692f8734e6c561ae0ebebff64a55 (diff) | |
feat!: Always suppress empty output (#1981)
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'template_test.go')
| -rw-r--r-- | template_test.go | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/template_test.go b/template_test.go index 1ac5150f..60607b2f 100644 --- a/template_test.go +++ b/template_test.go @@ -29,8 +29,10 @@ func TestOpenOutFile(t *testing.T) { ctx := datafs.ContextWithFSProvider(context.Background(), datafs.WrappedFSProvider(fsys, "file")) - cfg := &config.Config{Stdout: &bytes.Buffer{}} - f, err := openOutFile(ctx, "/tmp/foo", 0o755, 0o644, false, nil, false) + f, err := openOutFile(ctx, "/tmp/foo", 0o755, 0o644, false, nil) + require.NoError(t, err) + + _, err = f.Write([]byte("hello world")) require.NoError(t, err) wc, ok := f.(io.WriteCloser) @@ -44,9 +46,12 @@ func TestOpenOutFile(t *testing.T) { out := &bytes.Buffer{} - f, err = openOutFile(ctx, "-", 0o755, 0o644, false, out, false) + f, err = openOutFile(ctx, "-", 0o755, 0o644, false, out) require.NoError(t, err) - assert.Equal(t, cfg.Stdout, f) + + _, err = f.Write([]byte("hello world")) + require.NoError(t, err) + assert.Equal(t, "hello world", out.String()) } func TestGatherTemplates(t *testing.T) { @@ -76,16 +81,20 @@ func TestGatherTemplates(t *testing.T) { require.NoError(t, err) assert.Len(t, templates, 1) + buf := &bytes.Buffer{} cfg = &config.Config{ Input: "foo", - Stdout: &bytes.Buffer{}, + Stdout: buf, } cfg.ApplyDefaults() templates, err = gatherTemplates(ctx, cfg, nil) require.NoError(t, err) assert.Len(t, templates, 1) assert.Equal(t, "foo", templates[0].Text) - assert.Equal(t, cfg.Stdout, templates[0].Writer) + + _, err = templates[0].Writer.Write([]byte("hello world")) + require.NoError(t, err) + assert.Equal(t, "hello world", buf.String()) templates, err = gatherTemplates(ctx, &config.Config{ Input: "foo", @@ -106,41 +115,43 @@ func TestGatherTemplates(t *testing.T) { assert.Equal(t, iohelpers.NormalizeFileMode(0o644), info.Mode()) _ = hackpadfs.Remove(fsys, "out") + buf = &bytes.Buffer{} cfg = &config.Config{ InputFiles: []string{"foo"}, OutputFiles: []string{"out"}, - Stdout: &bytes.Buffer{}, + Stdout: buf, } templates, err = gatherTemplates(ctx, cfg, nil) require.NoError(t, err) assert.Len(t, templates, 1) assert.Equal(t, "bar", templates[0].Text) - assert.NotEqual(t, cfg.Stdout, templates[0].Writer) - // assert.Equal(t, os.FileMode(0o600), templates[0].mode) _, err = templates[0].Writer.Write([]byte("hello world")) require.NoError(t, err) + // negative test - we should not be writing to stdout + assert.NotEqual(t, "hello world", buf.String()) info, err = hackpadfs.Stat(fsys, "out") require.NoError(t, err) assert.Equal(t, iohelpers.NormalizeFileMode(0o600), info.Mode()) hackpadfs.Remove(fsys, "out") + buf = &bytes.Buffer{} cfg = &config.Config{ InputFiles: []string{"foo"}, OutputFiles: []string{"out"}, OutMode: "755", - Stdout: &bytes.Buffer{}, + Stdout: buf, } templates, err = gatherTemplates(ctx, cfg, nil) require.NoError(t, err) assert.Len(t, templates, 1) assert.Equal(t, "bar", templates[0].Text) - assert.NotEqual(t, cfg.Stdout, templates[0].Writer) - // assert.Equal(t, iohelpers.NormalizeFileMode(0o755), templates[0].mode) _, err = templates[0].Writer.Write([]byte("hello world")) require.NoError(t, err) + // negative test - we should not be writing to stdout + assert.NotEqual(t, "hello world", buf.String()) info, err = hackpadfs.Stat(fsys, "out") require.NoError(t, err) |
