diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2023-02-04 15:03:03 -0500 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2023-04-29 19:54:52 -0400 |
| commit | 5e05dc9fb9ad3ada91466da64d20ffbf063ca93d (patch) | |
| tree | 15edfc95169365b7c540bb68f978f56ed1e1da73 /template_windows_test.go | |
| parent | 496bac6da308507760a70ccbce8da6fddee4c3ba (diff) | |
replace afero module
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'template_windows_test.go')
| -rw-r--r-- | template_windows_test.go | 52 |
1 files changed, 36 insertions, 16 deletions
diff --git a/template_windows_test.go b/template_windows_test.go index 587b8b1c..c5c977aa 100644 --- a/template_windows_test.go +++ b/template_windows_test.go @@ -1,49 +1,69 @@ //go:build windows +// +build windows package gomplate import ( "context" + "io/fs" + "os" "testing" + "github.com/hack-pad/hackpadfs" + "github.com/hack-pad/hackpadfs/mem" "github.com/hairyhenderson/gomplate/v4/internal/config" - "github.com/spf13/afero" + "github.com/hairyhenderson/gomplate/v4/internal/datafs" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) -func TestWalkDir(t *testing.T) { - ctx := context.Background() - origfs := aferoFS - defer func() { aferoFS = origfs }() - aferoFS = afero.NewMemMapFs() +func TestWalkDir_Windows(t *testing.T) { + wd, _ := os.Getwd() + t.Cleanup(func() { + _ = os.Chdir(wd) + }) + _ = os.Chdir("C:/") + + memfs, _ := mem.NewFS() + fsys := datafs.WrapWdFS(memfs) + + ctx := datafs.ContextWithFSProvider(context.Background(), datafs.WrappedFSProvider(fsys, "file")) cfg := &config.Config{} - _, err := walkDir(ctx, cfg, `C:\indir`, simpleNamer(`C:\outdir`), nil, 0, false) + _, err := walkDir(ctx, cfg, `C:\indir`, simpleNamer(`C:/outdir`), nil, 0, false) assert.Error(t, err) - _ = aferoFS.MkdirAll(`C:\indir\one`, 0777) - _ = aferoFS.MkdirAll(`C:\indir\two`, 0777) - afero.WriteFile(aferoFS, `C:\indir\one\foo`, []byte("foo"), 0644) - afero.WriteFile(aferoFS, `C:\indir\one\bar`, []byte("bar"), 0644) - afero.WriteFile(aferoFS, `C:\indir\two\baz`, []byte("baz"), 0644) + err = hackpadfs.MkdirAll(fsys, `C:\indir\one`, 0o777) + require.NoError(t, err) + err = hackpadfs.MkdirAll(fsys, `C:\indir\two`, 0o777) + require.NoError(t, err) + err = hackpadfs.WriteFullFile(fsys, `C:\indir\one\foo`, []byte("foo"), 0o644) + require.NoError(t, err) + err = hackpadfs.WriteFullFile(fsys, `C:\indir\one\bar`, []byte("bar"), 0o644) + require.NoError(t, err) + err = hackpadfs.WriteFullFile(fsys, `C:\indir\two\baz`, []byte("baz"), 0o644) + require.NoError(t, err) - templates, err := walkDir(ctx, cfg, `C:\indir`, simpleNamer(`C:\outdir`), []string{`*\two`}, 0, false) + fi, err := fs.Stat(fsys, `C:\indir\two\baz`) + require.NoError(t, err) + assert.Equal(t, "baz", fi.Name()) + templates, err := walkDir(ctx, cfg, `C:\indir`, simpleNamer(`C:/outdir`), []string{`*\two`}, 0, false) require.NoError(t, err) + expected := []Template{ { - Name: `C:\indir\one\bar`, + Name: `C:/indir/one/bar`, Text: "bar", }, { - Name: `C:\indir\one\foo`, + Name: `C:/indir/one/foo`, Text: "foo", }, } - assert.Len(t, templates, 2) + require.Len(t, templates, 2) for i, tmpl := range templates { assert.Equal(t, expected[i].Name, tmpl.Name) assert.Equal(t, expected[i].Text, tmpl.Text) |
