gitee.com/mirrors/Hugo-Go@v0.47.1/transform/metainject/hugogenerator_test.go (about)

     1  // Copyright 2018 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 metainject
    15  
    16  import (
    17  	"bytes"
    18  	"strings"
    19  	"testing"
    20  
    21  	"github.com/gohugoio/hugo/transform"
    22  )
    23  
    24  func TestHugoGeneratorInject(t *testing.T) {
    25  	hugoGeneratorTag = "META"
    26  	for i, this := range []struct {
    27  		in     string
    28  		expect string
    29  	}{
    30  		{`<head>
    31  	<foo />
    32  </head>`, `<head>
    33  	META
    34  	<foo />
    35  </head>`},
    36  		{`<HEAD>
    37  	<foo />
    38  </HEAD>`, `<HEAD>
    39  	META
    40  	<foo />
    41  </HEAD>`},
    42  		{`<head><meta name="generator" content="Jekyll" /></head>`, `<head><meta name="generator" content="Jekyll" /></head>`},
    43  		{`<head><meta name='generator' content='Jekyll' /></head>`, `<head><meta name='generator' content='Jekyll' /></head>`},
    44  		{`<head><meta name=generator content=Jekyll /></head>`, `<head><meta name=generator content=Jekyll /></head>`},
    45  		{`<head><META     NAME="GENERATOR" content="Jekyll" /></head>`, `<head><META     NAME="GENERATOR" content="Jekyll" /></head>`},
    46  		{"", ""},
    47  		{"</head>", "</head>"},
    48  		{"<head>", "<head>\n\tMETA"},
    49  	} {
    50  		in := strings.NewReader(this.in)
    51  		out := new(bytes.Buffer)
    52  
    53  		tr := transform.New(HugoGenerator)
    54  		tr.Apply(out, in)
    55  
    56  		if out.String() != this.expect {
    57  			t.Errorf("[%d] Expected \n%q got \n%q", i, this.expect, out.String())
    58  		}
    59  	}
    60  
    61  }