From f60714b5a139553c0bcbcd6319c4603d7e35a099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Wed, 9 Feb 2022 16:37:21 +0100 Subject: [PATCH] Add a migration test helper --- hugolib/testhelpers_test.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/hugolib/testhelpers_test.go b/hugolib/testhelpers_test.go index 105654c4f..e03ea5363 100644 --- a/hugolib/testhelpers_test.go +++ b/hugolib/testhelpers_test.go @@ -5,6 +5,7 @@ import ( "fmt" "image/jpeg" "io" + "io/fs" "math/rand" "os" "path/filepath" @@ -702,6 +703,34 @@ func (s *sitesBuilder) AssertFileContentFn(filename string, f func(s string) boo } } +// Helper to migrate tests to new format. +func (s *sitesBuilder) DumpTxtar() string { + var sb strings.Builder + + skipRe := regexp.MustCompile(`^(public|resources|package-lock.json|go.sum)`) + + afero.Walk(s.Fs.Source, s.workingDir, func(path string, info fs.FileInfo, err error) error { + rel := strings.TrimPrefix(path, s.workingDir+"/") + if skipRe.MatchString(rel) { + if info.IsDir() { + return filepath.SkipDir + } + return nil + } + if info == nil || info.IsDir() { + return nil + } + sb.WriteString(fmt.Sprintf("-- %s --\n", rel)) + b, err := afero.ReadFile(s.Fs.Source, path) + s.Assert(err, qt.IsNil) + sb.WriteString(strings.TrimSpace(string(b))) + sb.WriteString("\n") + return nil + }) + + return sb.String() +} + func (s *sitesBuilder) AssertHome(matches ...string) { s.AssertFileContent("public/index.html", matches...) }