mirror of https://github.com/databricks/cli.git
66 lines
1.2 KiB
Go
66 lines
1.2 KiB
Go
|
package fileset
|
||
|
|
||
|
import (
|
||
|
"io/fs"
|
||
|
"os"
|
||
|
"path/filepath"
|
||
|
"slices"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
func TestGlobFileset(t *testing.T) {
|
||
|
cwd, err := os.Getwd()
|
||
|
require.NoError(t, err)
|
||
|
root := filepath.Join(cwd, "..", "filer")
|
||
|
|
||
|
entries, err := os.ReadDir(root)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
g, err := NewGlobSet(root, []string{
|
||
|
"./*.go",
|
||
|
})
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
files, err := g.All()
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
require.Equal(t, len(files), len(entries))
|
||
|
for _, f := range files {
|
||
|
exists := slices.ContainsFunc(entries, func(de fs.DirEntry) bool {
|
||
|
return de.Name() == f.Name()
|
||
|
})
|
||
|
require.True(t, exists)
|
||
|
}
|
||
|
|
||
|
g, err = NewGlobSet(root, []string{
|
||
|
"./*.js",
|
||
|
})
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
files, err = g.All()
|
||
|
require.NoError(t, err)
|
||
|
require.Equal(t, len(files), 0)
|
||
|
}
|
||
|
|
||
|
func TestGlobFilesetWithRelativeRoot(t *testing.T) {
|
||
|
root := filepath.Join("..", "filer")
|
||
|
|
||
|
entries, err := os.ReadDir(root)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
g, err := NewGlobSet(root, []string{
|
||
|
"./*.go",
|
||
|
})
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
files, err := g.All()
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
require.Equal(t, len(files), len(entries))
|
||
|
for _, f := range files {
|
||
|
require.True(t, filepath.IsAbs(f.Absolute))
|
||
|
}
|
||
|
}
|