aboutsummaryrefslogtreecommitdiffhomepage
path: root/tpl
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2022-03-04 07:07:11 +0100
committerBjørn Erik Pedersen <[email protected]>2022-03-04 08:43:47 +0100
commit673cde1eb122888509cca32e322662af08187ff1 (patch)
tree6afd5bb1429c073fe8b05806f01550722faa97ab /tpl
parente46e9ceb29581de3a32c8155f7cfd58ab59b2b8f (diff)
downloadhugo-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.go51
-rw-r--r--tpl/os/os.go3
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{