From e3ae8f025d5919dd6675d5176b10bcf8884baa95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Thu, 1 Jun 2023 09:30:16 +0200 Subject: [PATCH] Make sure any default mounts show up in "hugo config" Fixes #11040 --- config/allconfig/allconfig.go | 15 +++++++++++++++ hugolib/config_test.go | 26 ++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/config/allconfig/allconfig.go b/config/allconfig/allconfig.go index abb955546..40bb2221d 100644 --- a/config/allconfig/allconfig.go +++ b/config/allconfig/allconfig.go @@ -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 } diff --git a/hugolib/config_test.go b/hugolib/config_test.go index 814be667f..245180e12 100644 --- a/hugolib/config_test.go +++ b/hugolib/config_test.go @@ -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) + +}