mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-17 21:01:26 +02:00
Add some tests for IgnoreFiles
And log error on invalid regexp. See #1189
This commit is contained in:
@@ -1,29 +1,41 @@
|
||||
package source
|
||||
|
||||
import (
|
||||
"github.com/spf13/viper"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestIgnoreDotFilesAndDirectories(t *testing.T) {
|
||||
viper.Reset()
|
||||
defer viper.Reset()
|
||||
|
||||
tests := []struct {
|
||||
path string
|
||||
ignore bool
|
||||
path string
|
||||
ignore bool
|
||||
ignoreFilesRegexpes interface{}
|
||||
}{
|
||||
{".foobar/", true},
|
||||
{"foobar/.barfoo/", true},
|
||||
{"barfoo.md", false},
|
||||
{"foobar/barfoo.md", false},
|
||||
{"foobar/.barfoo.md", true},
|
||||
{".barfoo.md", true},
|
||||
{".md", true},
|
||||
{"", true},
|
||||
{"foobar/barfoo.md~", true},
|
||||
{".foobar/barfoo.md~", true},
|
||||
{"foobar~/barfoo.md", false},
|
||||
{"foobar/bar~foo.md", false},
|
||||
{".foobar/", true, nil},
|
||||
{"foobar/.barfoo/", true, nil},
|
||||
{"barfoo.md", false, nil},
|
||||
{"foobar/barfoo.md", false, nil},
|
||||
{"foobar/.barfoo.md", true, nil},
|
||||
{".barfoo.md", true, nil},
|
||||
{".md", true, nil},
|
||||
{"", true, nil},
|
||||
{"foobar/barfoo.md~", true, nil},
|
||||
{".foobar/barfoo.md~", true, nil},
|
||||
{"foobar~/barfoo.md", false, nil},
|
||||
{"foobar/bar~foo.md", false, nil},
|
||||
{"foobar/foo.md", true, []string{"\\.md$", "\\.boo$"}},
|
||||
{"foobar/foo.html", false, []string{"\\.md$", "\\.boo$"}},
|
||||
{"foobar/foo.md", true, []string{"^foo"}},
|
||||
{"foobar/foo.md", false, []string{"*", "\\.md$", "\\.boo$"}},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
|
||||
viper.Set("ignoreFiles", test.ignoreFilesRegexpes)
|
||||
|
||||
if ignored := isNonProcessablePath(test.path); test.ignore != ignored {
|
||||
t.Errorf("File not ignored. Expected: %t, got: %t", test.ignore, ignored)
|
||||
}
|
||||
|
Reference in New Issue
Block a user