]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Port some integration tests to new test setup
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 28 Jan 2024 10:14:35 +0000 (11:14 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 28 Jan 2024 10:29:23 +0000 (11:29 +0100)
The method I'm currently using (if other want to help) is:

* Add fmt.Println(b.DumpTxtar()) after the Build step
* Add that to a files var and pass that to Test(t, files) or similar
* Then, if possible, try to reduce the files/content down to what's needed in test.

Note that if the test is small, it's probably faster just to manually re-create the test.

hugolib/hugo_modules_test.go

index b37cf0e78d8cd4a09e2175d0035b7f4c5b88b419..243447805f93b61ef0a4c58228b45dcd3c5e824a 100644 (file)
@@ -657,30 +657,24 @@ min_version = 0.55.0
 func TestMountsProject(t *testing.T) {
        t.Parallel()
 
-       config := `
-
+       files := `
+-- config.toml --
 baseURL="https://example.org"
 
 [module]
 [[module.mounts]]
 source="mycontent"
 target="content"
-
-`
-       b := newTestSitesBuilder(t).
-               WithConfigFile("toml", config).
-               WithSourceFile(filepath.Join("mycontent", "mypage.md"), `
+-- layouts/_default/single.html --
+Permalink: {{ .Permalink }}|
+-- mycontent/mypage.md --
 ---
 title: "My Page"
 ---
+`
+       b := Test(t, files)
 
-`)
-
-       b.Build(BuildCfg{})
-
-       // helpers.PrintFs(b.H.Fs.Source, "public", os.Stdout)
-
-       b.AssertFileContent("public/mypage/index.html", "Permalink: https://example.org/mypage/")
+       b.AssertFileContent("public/mypage/index.html", "Permalink: https://example.org/mypage/|")
 }
 
 // https://github.com/gohugoio/hugo/issues/6684
@@ -706,25 +700,20 @@ Home: {{ .Title }}|{{ .Content }}|
 func TestSiteWithGoModButNoModules(t *testing.T) {
        t.Parallel()
 
-       c := qt.New(t)
-       // We need to use the OS fs for this.
-       workDir, clean, err := htesting.CreateTempDir(hugofs.Os, "hugo-no-mod")
-       c.Assert(err, qt.IsNil)
-
-       cfg := config.New()
-       cfg.Set("workingDir", workDir)
-       cfg.Set("publishDir", "public")
-       fs := hugofs.NewFromOld(hugofs.Os, cfg)
+       tempDir := t.TempDir()
 
-       defer clean()
+       files := `
+-- hugo.toml --
+baseURL = "https://example.org"
+-- go.mod --
 
-       b := newTestSitesBuilder(t)
-       b.Fs = fs
+`
 
-       b.WithWorkingDir(workDir).WithViper(cfg)
+       b := Test(t, files, TestOptWithConfig(func(cfg *IntegrationTestConfig) {
+               cfg.WorkingDir = tempDir
+       }))
 
-       b.WithSourceFile("go.mod", "")
-       b.Build(BuildCfg{})
+       b.Build()
 }
 
 // https://github.com/gohugoio/hugo/issues/6622
@@ -783,7 +772,9 @@ P1: {{ $p1.Title }}|{{ $p1.RelPermalink }}|Filename: {{ $p1.File.Filename }}
 
 // Issue 9426
 func TestMountSameSource(t *testing.T) {
-       config := `baseURL = 'https://example.org/'
+       files := `
+-- hugo.toml --
+baseURL = 'https://example.org/'
 languageCode = 'en-us'
 title = 'Hugo GitHub Issue #9426'
 
@@ -800,18 +791,15 @@ target = "content/resources-a"
 [[module.mounts]]
 source = "extra-content"
 target = "content/resources-b"
+-- layouts/_default/single.html --
+Single
+-- content/p1.md --
+-- extra-content/_index.md --
+-- extra-content/subdir/_index.md --
+-- extra-content/subdir/about.md --
+"
 `
-       b := newTestSitesBuilder(t).WithConfigFile("toml", config)
-
-       b.WithContent("p1.md", "")
-
-       b.WithSourceFile(
-               "extra-content/_index.md", "",
-               "extra-content/subdir/_index.md", "",
-               "extra-content/subdir/about.md", "",
-       )
-
-       b.Build(BuildCfg{})
+       b := Test(t, files)
 
        b.AssertFileContent("public/resources-a/subdir/about/index.html", "Single")
        b.AssertFileContent("public/resources-b/subdir/about/index.html", "Single")
@@ -836,12 +824,7 @@ message: Hugo Rocks
 {{ site.Data.extra.test.message }}
 `
 
-       b := NewIntegrationTestBuilder(
-               IntegrationTestConfig{
-                       T:           t,
-                       TxtarString: files,
-               },
-       ).Build()
+       b := Test(t, files)
 
        b.AssertFileContent("public/index.html", "Hugo Rocks")
 }