diff options
author | Bjørn Erik Pedersen <[email protected]> | 2022-03-04 07:07:11 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2022-03-04 08:43:47 +0100 |
commit | 673cde1eb122888509cca32e322662af08187ff1 (patch) | |
tree | 6afd5bb1429c073fe8b05806f01550722faa97ab /tpl | |
parent | e46e9ceb29581de3a32c8155f7cfd58ab59b2b8f (diff) | |
download | hugo-673cde1eb122888509cca32e322662af08187ff1.tar.gz hugo-673cde1eb122888509cca32e322662af08187ff1.zip |
tpl/os: Revert readDir in theme behaviour
Fixes #9599
Diffstat (limited to 'tpl')
-rw-r--r-- | tpl/os/integration_test.go | 51 | ||||
-rw-r--r-- | tpl/os/os.go | 3 |
2 files changed, 53 insertions, 1 deletions
diff --git a/tpl/os/integration_test.go b/tpl/os/integration_test.go new file mode 100644 index 000000000..fe1bb3d6e --- /dev/null +++ b/tpl/os/integration_test.go @@ -0,0 +1,51 @@ +// Copyright 2022 The Hugo Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package os_test + +import ( + "testing" + + "github.com/gohugoio/hugo/hugolib" +) + +// Issue 9599 +func TestReadDirWorkDir(t *testing.T) { + t.Parallel() + + files := ` +-- config.toml -- +theme = "mytheme" +-- myproject.txt -- +Hello project! +-- themes/mytheme/mytheme.txt -- +Hello theme! +-- layouts/index.html -- +{{ $entries := (readDir ".") }} +START:|{{ range $entry := $entries }}{{ if not $entry.IsDir }}{{ $entry.Name }}|{{ end }}{{ end }}:END: + + + ` + + b := hugolib.NewIntegrationTestBuilder( + hugolib.IntegrationTestConfig{ + T: t, + TxtarString: files, + NeedsOsFS: true, + }, + ).Build() + + b.AssertFileContent("public/index.html", ` +START:|config.toml|myproject.txt|:END: +`) +} diff --git a/tpl/os/os.go b/tpl/os/os.go index 2da792ac1..5abc03c68 100644 --- a/tpl/os/os.go +++ b/tpl/os/os.go @@ -33,7 +33,8 @@ func New(d *deps.Deps) *Namespace { // The docshelper script does not have or need all the dependencies set up. if d.PathSpec != nil { readFileFs = afero.NewReadOnlyFs(afero.NewCopyOnWriteFs(d.PathSpec.BaseFs.Content.Fs, d.PathSpec.BaseFs.Work)) - workFs = d.PathSpec.BaseFs.Work + // See #9599 + workFs = d.PathSpec.BaseFs.WorkDir } return &Namespace{ |