Add a migration test helper - hugo - [fork] hugo port for 9front
 (HTM) git clone git@git.drkhsh.at/hugo.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit f60714b5a139553c0bcbcd6319c4603d7e35a099
 (DIR) parent 215a715ddd698731fd81aed9cfaf7e37826e2467
 (HTM) Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Wed,  9 Feb 2022 16:37:21 +0100
       
       Add a migration test helper
       
       Diffstat:
         M hugolib/testhelpers_test.go         |      29 +++++++++++++++++++++++++++++
       
       1 file changed, 29 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git 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...)
        }