Make sure any default mounts show up in "hugo config"

Fixes #11040
This commit is contained in:
Bjørn Erik Pedersen 2023-06-01 09:30:16 +02:00
parent 06faee5beb
commit e3ae8f025d
2 changed files with 41 additions and 0 deletions

View file

@ -649,6 +649,21 @@ func (c *Configs) Init() error {
return err
}
// We should consolidate this, but to get a full view of the mounts in e.g. "hugo config" we need to
// transfer any default mounts added above to the config used to print the config.
for _, m := range c.Modules[0].Mounts() {
var found bool
for _, cm := range c.Base.Module.Mounts {
if cm.Source == m.Source && cm.Target == m.Target && cm.Lang == m.Lang {
found = true
break
}
}
if !found {
c.Base.Module.Mounts = append(c.Base.Module.Mounts, m)
}
}
return nil
}

View file

@ -1151,3 +1151,29 @@ weight = 1
})
}
// Issue #11040
func TestConfigModuleDefaultMountsInConfig(t *testing.T) {
t.Parallel()
files := `
-- hugo.toml --
baseURL = "https://example.org"
contentDir = "mycontent"
-- layouts/index.html --
Home.
`
b := NewIntegrationTestBuilder(
IntegrationTestConfig{
T: t,
TxtarString: files,
},
).Build()
modConf := b.H.Configs.Base.Module
b.Assert(modConf.Mounts, qt.HasLen, 7)
}