diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2023-07-01 10:37:38 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2023-07-01 15:38:32 +0200 |
commit | 11ecea610617035745e620278a309d98091f527c (patch) | |
tree | 5678f3a089542b80316f3ee1ebdb7bc3aa9197fe /hugolib/site_test.go | |
parent | da98724bc8bd28532222fb379af7a3782e2a9480 (diff) |
Make build.writeStats a struct
So you can do
```toml
[build.writeStats]
tags = true
classes = true
ids = false
```
Fixes #11191
Diffstat (limited to 'hugolib/site_test.go')
-rw-r--r-- | hugolib/site_test.go | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/hugolib/site_test.go b/hugolib/site_test.go index be59b17a7..8265c06d0 100644 --- a/hugolib/site_test.go +++ b/hugolib/site_test.go @@ -1162,6 +1162,89 @@ Some text. } } +func TestClassCollectorConfigWriteStats(t *testing.T) { + r := func(writeStatsConfig string) *IntegrationTestBuilder { + files := ` +-- hugo.toml -- +WRITE_STATS_CONFIG +-- layouts/_default/list.html -- +<div id="myid" class="myclass">Foo</div> + +` + files = strings.Replace(files, "WRITE_STATS_CONFIG", writeStatsConfig, 1) + + b := NewIntegrationTestBuilder( + IntegrationTestConfig{ + T: t, + TxtarString: files, + NeedsOsFS: true, + }, + ).Build() + + return b + } + + // Legacy config. + b := r(` +[build] +writeStats = true +`) + + b.AssertFileContent("hugo_stats.json", "myclass", "div", "myid") + + b = r(` +[build] +writeStats = false + `) + + b.AssertDestinationExists("hugo_stats.json", false) + + b = r(` +[build.writeStats] +tags = true +classes = true +ids = true + `) + + b.AssertFileContent("hugo_stats.json", "myclass", "div", "myid") + + b = r(` +[build.writeStats] +tags = true +classes = true +ids = false +`) + + b.AssertFileContent("hugo_stats.json", "myclass", "div", "! myid") + + b = r(` +[build.writeStats] +tags = true +classes = false +ids = true +`) + + b.AssertFileContent("hugo_stats.json", "! myclass", "div", "myid") + + b = r(` +[build.writeStats] +tags = false +classes = true +ids = true + `) + + b.AssertFileContent("hugo_stats.json", "myclass", "! div", "myid") + + b = r(` +[build.writeStats] +tags = false +classes = false +ids = false + `) + b.AssertDestinationExists("hugo_stats.json", false) + +} + func TestClassCollectorStress(t *testing.T) { statsFilename := "hugo_stats.json" defer os.Remove(statsFilename) |