github.com/graemephi/kahugo@v0.62.3-0.20211121071557-d78c0423784d/tpl/tplimpl/template_test.go (about)

     1  // Copyright 2019 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  package tplimpl
    14  
    15  import (
    16  	"testing"
    17  
    18  	qt "github.com/frankban/quicktest"
    19  )
    20  
    21  func TestNeedsBaseTemplate(t *testing.T) {
    22  	c := qt.New(t)
    23  
    24  	c.Assert(needsBaseTemplate(`{{ define "main" }}`), qt.Equals, true)
    25  	c.Assert(needsBaseTemplate(`{{define "main" }}`), qt.Equals, true)
    26  	c.Assert(needsBaseTemplate(`{{-  define "main" }}`), qt.Equals, true)
    27  	c.Assert(needsBaseTemplate(`{{-define "main" }}`), qt.Equals, true)
    28  	c.Assert(needsBaseTemplate(`
    29  	
    30  	{{-define "main" }}
    31  	
    32  	`), qt.Equals, true)
    33  	c.Assert(needsBaseTemplate(`    {{ define "main" }}`), qt.Equals, true)
    34  	c.Assert(needsBaseTemplate(`
    35  	{{ define "main" }}`), qt.Equals, true)
    36  	c.Assert(needsBaseTemplate(`  A  {{ define "main" }}`), qt.Equals, false)
    37  	c.Assert(needsBaseTemplate(`  {{ printf "foo" }}`), qt.Equals, false)
    38  	c.Assert(needsBaseTemplate(`{{/* comment */}}    {{ define "main" }}`), qt.Equals, true)
    39  	c.Assert(needsBaseTemplate(`     {{/* comment */}}  A  {{ define "main" }}`), qt.Equals, false)
    40  }