2019-01-02 06:33:26 -05:00
|
|
|
// Copyright 2019 The Hugo Authors. All rights reserved.
|
2015-12-10 17:19:38 -05:00
|
|
|
//
|
|
|
|
// 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.
|
|
|
|
|
2015-03-19 12:23:14 -04:00
|
|
|
package hugolib
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
2023-01-04 12:24:36 -05:00
|
|
|
func TestData(t *testing.T) {
|
|
|
|
t.Run("with theme", func(t *testing.T) {
|
|
|
|
t.Parallel()
|
2022-04-08 09:15:26 -04:00
|
|
|
|
2023-01-04 12:24:36 -05:00
|
|
|
files := `
|
|
|
|
-- hugo.toml --
|
|
|
|
baseURL = "https://example.com"
|
2023-05-22 13:11:12 -04:00
|
|
|
disableKinds = ["taxonomy", "term", "RSS", "sitemap", "robotsTXT", "page", "section"]
|
2023-01-04 12:24:36 -05:00
|
|
|
theme = "mytheme"
|
2022-04-08 09:15:26 -04:00
|
|
|
-- data/a.toml --
|
2023-01-04 12:24:36 -05:00
|
|
|
v1 = "a_v1"
|
|
|
|
-- data/b.yaml --
|
|
|
|
v1: b_v1
|
|
|
|
-- data/c/d.yaml --
|
|
|
|
v1: c_d_v1
|
2022-04-08 09:15:26 -04:00
|
|
|
-- themes/mytheme/data/a.toml --
|
2023-01-04 12:24:36 -05:00
|
|
|
v1 = "a_v1_theme"
|
|
|
|
-- themes/mytheme/data/d.toml --
|
|
|
|
v1 = "d_v1_theme"
|
2022-04-08 09:15:26 -04:00
|
|
|
-- layouts/index.html --
|
2023-01-04 12:24:36 -05:00
|
|
|
a: {{ site.Data.a.v1 }}|
|
|
|
|
b: {{ site.Data.b.v1 }}|
|
|
|
|
cd: {{ site.Data.c.d.v1 }}|
|
|
|
|
d: {{ site.Data.d.v1 }}|
|
2022-04-08 09:15:26 -04:00
|
|
|
`
|
2024-01-28 16:11:05 -05:00
|
|
|
b := Test(t, files)
|
2016-08-10 02:51:57 -04:00
|
|
|
|
2023-01-04 12:24:36 -05:00
|
|
|
b.AssertFileContent("public/index.html", "a: a_v1|\nb: b_v1|\ncd: c_d_v1|\nd: d_v1_theme|")
|
|
|
|
})
|
2016-08-10 02:51:57 -04:00
|
|
|
}
|
2024-02-03 09:43:28 -05:00
|
|
|
|
|
|
|
func TestDataMixedCaseFolders(t *testing.T) {
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
files := `
|
|
|
|
-- hugo.toml --
|
|
|
|
baseURL = "https://example.com"
|
|
|
|
-- data/MyFolder/MyData.toml --
|
|
|
|
v1 = "my_v1"
|
|
|
|
-- layouts/index.html --
|
|
|
|
{{ site.Data }}
|
|
|
|
v1: {{ site.Data.MyFolder.MyData.v1 }}|
|
|
|
|
`
|
|
|
|
b := Test(t, files)
|
|
|
|
|
|
|
|
b.AssertFileContent("public/index.html", "v1: my_v1|")
|
|
|
|
}
|
2024-02-28 11:58:27 -05:00
|
|
|
|
|
|
|
// Issue #12133
|
|
|
|
func TestDataNoAssets(t *testing.T) {
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
files := `
|
|
|
|
-- hugo.toml --
|
|
|
|
disableKinds = ['page','rss','section','sitemap','taxonomy','term']
|
|
|
|
-- assets/data/foo.toml --
|
|
|
|
content = "I am assets/data/foo.toml"
|
|
|
|
-- layouts/index.html --
|
|
|
|
|{{ site.Data.foo.content }}|
|
|
|
|
`
|
|
|
|
|
|
|
|
b := Test(t, files)
|
|
|
|
|
|
|
|
b.AssertFileContent("public/index.html", "||")
|
|
|
|
}
|