hugo

Fork of github.com/gohugoio/hugo with reverse pagination support

git clone git://git.shimmy1996.com/hugo.git

integration_test.go (2160B)

    1 // Copyright 2022 The Hugo Authors. All rights reserved.
    2 //
    3 // Licensed under the Apache License, Version 2.0 (the "License");
    4 // you may not use this file except in compliance with the License.
    5 // You may obtain a copy of the License at
    6 // http://www.apache.org/licenses/LICENSE-2.0
    7 //
    8 // Unless required by applicable law or agreed to in writing, software
    9 // distributed under the License is distributed on an "AS IS" BASIS,
   10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   11 // See the License for the specific language governing permissions and
   12 // limitations under the License.
   13 
   14 package templates_test
   15 
   16 import (
   17 	"testing"
   18 
   19 	"github.com/gohugoio/hugo/hugolib"
   20 )
   21 
   22 func TestExists(t *testing.T) {
   23 	t.Parallel()
   24 
   25 	files := `
   26 -- config.toml --
   27 baseURL = 'http://example.com/'
   28 -- layouts/index.html --
   29 index.html: {{ templates.Exists "index.html" }}
   30 post/single.html: {{ templates.Exists "post/single.html" }}
   31 partials/foo.html: {{ templates.Exists "partials/foo.html" }}
   32 partials/doesnotexist.html: {{ templates.Exists "partials/doesnotexist.html" }}
   33 -- layouts/post/single.html --
   34 -- layouts/partials/foo.html --
   35   `
   36 
   37 	b := hugolib.NewIntegrationTestBuilder(
   38 		hugolib.IntegrationTestConfig{
   39 			T:           t,
   40 			TxtarString: files,
   41 		},
   42 	).Build()
   43 
   44 	b.AssertFileContent("public/index.html", `
   45 index.html: true
   46 post/single.html: true
   47 partials/foo.html: true
   48 partials/doesnotexist.html: false  
   49 `)
   50 }
   51 
   52 func TestExistsWithBaseOf(t *testing.T) {
   53 	t.Parallel()
   54 
   55 	files := `
   56 -- config.toml --
   57 baseURL = 'http://example.com/'
   58 -- layouts/baseof.html --
   59 {{ block "main" . }}{{ end }}
   60 -- layouts/index.html --
   61 {{ define "main" }}
   62 index.html: {{ templates.Exists "index.html" }}
   63 post/single.html: {{ templates.Exists "post/single.html" }}
   64 post/doesnotexist.html: {{ templates.Exists "post/doesnotexist.html" }}
   65 {{ end }}
   66 -- layouts/post/single.html --
   67 {{ define "main" }}MAIN{{ end }}
   68 
   69 
   70 `
   71 
   72 	b := hugolib.NewIntegrationTestBuilder(
   73 		hugolib.IntegrationTestConfig{
   74 			T:           t,
   75 			TxtarString: files,
   76 		},
   77 	).Build()
   78 
   79 	b.AssertFileContent("public/index.html", `
   80 index.html: true
   81 post/single.html: true
   82 post/doesnotexist.html: false
   83 
   84 `)
   85 }