Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-11-22 11:42:11 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-11-22 11:42:11 +0300
commite7d0bc8a7433e39dc22fe5096a0eb663c16c0d6a (patch)
tree8f9683d3ec506a145ccdcf3d6e11c218f58ea096 /tpl/template_ast_transformers_test.go
parent239c75c7f866e8970b794a9e7bac73de46052241 (diff)
Revert "Fix case issues with Params"
This reverts commit 239c75c7f866e8970b794a9e7bac73de46052241. There is a ininite loop in there somewhere on my site that needs to be resolved.
Diffstat (limited to 'tpl/template_ast_transformers_test.go')
-rw-r--r--tpl/template_ast_transformers_test.go218
1 files changed, 0 insertions, 218 deletions
diff --git a/tpl/template_ast_transformers_test.go b/tpl/template_ast_transformers_test.go
deleted file mode 100644
index b62282b00..000000000
--- a/tpl/template_ast_transformers_test.go
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright 2016 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 tpl
-
-import (
- "bytes"
- "testing"
-
- "html/template"
-
- jww "github.com/spf13/jwalterweatherman"
- "github.com/stretchr/testify/require"
-)
-
-func TestParamsKeysToLower(t *testing.T) {
- var (
- ctx = map[string]interface{}{
- "Slice": []int{1, 3},
- "Params": map[string]interface{}{
- "lower": "P1L",
- },
- "Site": map[string]interface{}{
- "Params": map[string]interface{}{
- "lower": "P2L",
- "slice": []int{1, 3},
- },
- "Language": map[string]interface{}{
- "Params": map[string]interface{}{
- "lower": "P22L",
- },
- },
- "Data": map[string]interface{}{
- "Params": map[string]interface{}{
- "NOLOW": "P3H",
- },
- },
- },
- }
-
- paramsTempl = `
-{{ $page := . }}
-{{ $pageParams := .Params }}
-{{ $site := .Site }}
-{{ $siteParams := .Site.Params }}
-{{ $data := .Site.Data }}
-
-P1: {{ .Params.LOWER }}
-P1_2: {{ $.Params.LOWER }}
-P1_3: {{ $page.Params.LOWER }}
-P1_4: {{ $pageParams.LOWER }}
-P2: {{ .Site.Params.LOWER }}
-P2_2: {{ $.Site.Params.LOWER }}
-P2_3: {{ $site.Params.LOWER }}
-P2_4: {{ $siteParams.LOWER }}
-P22: {{ .Site.Language.Params.LOWER }}
-P3: {{ .Site.Data.Params.NOLOW }}
-P3_2: {{ $.Site.Data.Params.NOLOW }}
-P3_3: {{ $site.Data.Params.NOLOW }}
-P3_4: {{ $data.Params.NOLOW }}
-P4: {{ range $i, $e := .Site.Params.SLICE }}{{ $e }}{{ end }}
-P5: {{ Echo .Params.LOWER }}
-P5_2: {{ Echo $site.Params.LOWER }}
-{{ if .Params.LOWER }}
-IF: {{ .Params.LOWER }}
-{{ end }}
-{{ if .Params.NOT_EXIST }}
-{{ else }}
-ELSE: {{ .Params.LOWER }}
-{{ end }}
-
-
-{{ with .Params.LOWER }}
-WITH: {{ . }}
-{{ end }}
-
-
-{{ range .Slice }}
-RANGE: {{ . }}: {{ $.Params.LOWER }}
-{{ end }}
-`
- )
-
- require.Error(t, applyTemplateTransformers(nil))
-
- var funcs = map[string]interface{}{
- "Echo": func(v interface{}) interface{} { return v },
- }
-
- templ, err := template.New("foo").Funcs(funcs).Parse(paramsTempl)
-
- require.NoError(t, err)
-
- c := newTemplateContext(templ)
-
- require.Equal(t, -1, c.decl.indexOfReplacementStart([]string{}))
-
- c.paramsKeysToLower(templ.Tree.Root)
-
- var b bytes.Buffer
-
- require.NoError(t, templ.Execute(&b, ctx))
-
- result := b.String()
-
- require.Contains(t, result, "P1: P1L")
- require.Contains(t, result, "P1_2: P1L")
- require.Contains(t, result, "P1_3: P1L")
- require.Contains(t, result, "P1_4: P1L")
- require.Contains(t, result, "P2: P2L")
- require.Contains(t, result, "P2_2: P2L")
- require.Contains(t, result, "P2_3: P2L")
- require.Contains(t, result, "P2_4: P2L")
- require.Contains(t, result, "P22: P22L")
- require.Contains(t, result, "P3: P3H")
- require.Contains(t, result, "P3_2: P3H")
- require.Contains(t, result, "P3_3: P3H")
- require.Contains(t, result, "P3_4: P3H")
- require.Contains(t, result, "P4: 13")
- require.Contains(t, result, "P5: P1L")
- require.Contains(t, result, "P5_2: P2L")
-
- require.Contains(t, result, "IF: P1L")
- require.Contains(t, result, "ELSE: P1L")
-
- require.Contains(t, result, "WITH: P1L")
-
- require.Contains(t, result, "RANGE: 3: P1L")
-}
-
-func TestParamsKeysToLowerVars(t *testing.T) {
- var (
- ctx = map[string]interface{}{
- "Params": map[string]interface{}{
- "colors": map[string]interface{}{
- "blue": "Amber",
- },
- },
- }
-
- // This is how Amber behaves:
- paramsTempl = `
-{{$__amber_1 := .Params.Colors}}
-{{$__amber_2 := $__amber_1.Blue}}
-Color: {{$__amber_2}}
-Blue: {{ $__amber_1.Blue}}
-`
- )
-
- templ, err := template.New("foo").Parse(paramsTempl)
-
- require.NoError(t, err)
-
- c := newTemplateContext(templ)
-
- c.paramsKeysToLower(templ.Tree.Root)
-
- var b bytes.Buffer
-
- require.NoError(t, templ.Execute(&b, ctx))
-
- result := b.String()
-
- require.Contains(t, result, "Color: Amber")
-
-}
-
-func TestParamsKeysToLowerInBlockTemplate(t *testing.T) {
-
- var (
- ctx = map[string]interface{}{
- "Params": map[string]interface{}{
- "lower": "P1L",
- },
- }
-
- master = `
-P1: {{ .Params.LOWER }}
-{{ block "main" . }}DEFAULT{{ end }}`
- overlay = `
-{{ define "main" }}
-P2: {{ .Params.LOWER }}
-{{ end }}`
- )
-
- masterTpl, err := template.New("foo").Parse(master)
- require.NoError(t, err)
-
- overlayTpl, err := template.Must(masterTpl.Clone()).Parse(overlay)
- require.NoError(t, err)
- overlayTpl = overlayTpl.Lookup(overlayTpl.Name())
-
- c := newTemplateContext(overlayTpl)
-
- c.paramsKeysToLower(overlayTpl.Tree.Root)
-
- var b bytes.Buffer
-
- require.NoError(t, overlayTpl.Execute(&b, ctx))
-
- result := b.String()
-
- require.Contains(t, result, "P1: P1L")
- require.Contains(t, result, "P2: P1L")
-}
-
-func init() {
- jww.SetStdoutThreshold(jww.LevelCritical)
-}