# go list shows patterns and files
go list -f '{{.EmbedPatterns}}'
stdout '\[x\*t\*t\]'
go list -f '{{.EmbedFiles}}'
stdout '\[x.txt\]'

# build embeds x.txt
go build -x
stderr 'x.txt'

# build uses cache correctly
go build -x
! stderr 'x.txt'
cp x.txt2 x.txt
go build -x
stderr 'x.txt'

# build rejects invalid names
cp x.go2 x.go
go build -x
cp x.txt .git
! go build -x
stderr 'pattern [*]t: cannot embed file [.]git'
rm .git

# build rejects symlinks
[symlink] symlink x.tzt -> x.txt
[symlink] ! go build -x
[symlink] stderr 'pattern [*]t: cannot embed irregular file x.tzt'
[symlink] rm x.tzt

# build rejects empty directories
mkdir t
! go build -x
stderr 'pattern [*]t: cannot embed directory t: contains no embeddable files'

# build ignores symlinks and invalid names in directories
cp x.txt t/.git
! go build -x
stderr 'pattern [*]t: cannot embed directory t: contains no embeddable files'
[symlink] symlink t/x.link -> ../x.txt
[symlink] ! go build -x
[symlink] stderr 'pattern [*]t: cannot embed directory t: contains no embeddable files'

cp x.txt t/x.txt
go build -x

-- x.go --
package p

import "embed"

//go:embed x*t*t
var X embed.FS

-- x.go2 --
package p

import "embed"

//go:embed *t
var X embed.FS

-- x.txt --
hello

-- x.txt2 --
not hello

-- go.mod --
module m

