summaryrefslogtreecommitdiffstats
path: root/hugolib/page_paths_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'hugolib/page_paths_test.go')
-rw-r--r--hugolib/page_paths_test.go194
1 files changed, 0 insertions, 194 deletions
diff --git a/hugolib/page_paths_test.go b/hugolib/page_paths_test.go
deleted file mode 100644
index 8f8df6ec1..000000000
--- a/hugolib/page_paths_test.go
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright 2017 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 hugolib
-
-import (
- "path/filepath"
- "strings"
- "testing"
-
- "github.com/gohugoio/hugo/media"
-
- "fmt"
-
- "github.com/gohugoio/hugo/output"
-)
-
-func TestPageTargetPath(t *testing.T) {
-
- pathSpec := newTestDefaultPathSpec(t)
-
- noExtNoDelimMediaType := media.TextType
- noExtNoDelimMediaType.Suffixes = []string{}
- noExtNoDelimMediaType.Delimiter = ""
-
- // Netlify style _redirects
- noExtDelimFormat := output.Format{
- Name: "NER",
- MediaType: noExtNoDelimMediaType,
- BaseName: "_redirects",
- }
-
- for _, multiHost := range []bool{false, true} {
- for _, langPrefix := range []string{"", "no"} {
- for _, uglyURLs := range []bool{false, true} {
- t.Run(fmt.Sprintf("multihost=%t,langPrefix=%q,uglyURLs=%t", multiHost, langPrefix, uglyURLs),
- func(t *testing.T) {
-
- tests := []struct {
- name string
- d targetPathDescriptor
- expected string
- }{
- {"JSON home", targetPathDescriptor{Kind: KindHome, Type: output.JSONFormat}, "/index.json"},
- {"AMP home", targetPathDescriptor{Kind: KindHome, Type: output.AMPFormat}, "/amp/index.html"},
- {"HTML home", targetPathDescriptor{Kind: KindHome, BaseName: "_index", Type: output.HTMLFormat}, "/index.html"},
- {"Netlify redirects", targetPathDescriptor{Kind: KindHome, BaseName: "_index", Type: noExtDelimFormat}, "/_redirects"},
- {"HTML section list", targetPathDescriptor{
- Kind: KindSection,
- Sections: []string{"sect1"},
- BaseName: "_index",
- Type: output.HTMLFormat}, "/sect1/index.html"},
- {"HTML taxonomy list", targetPathDescriptor{
- Kind: KindTaxonomy,
- Sections: []string{"tags", "hugo"},
- BaseName: "_index",
- Type: output.HTMLFormat}, "/tags/hugo/index.html"},
- {"HTML taxonomy term", targetPathDescriptor{
- Kind: KindTaxonomy,
- Sections: []string{"tags"},
- BaseName: "_index",
- Type: output.HTMLFormat}, "/tags/index.html"},
- {
- "HTML page", targetPathDescriptor{
- Kind: KindPage,
- Dir: "/a/b",
- BaseName: "mypage",
- Sections: []string{"a"},
- Type: output.HTMLFormat}, "/a/b/mypage/index.html"},
-
- {
- "HTML page with index as base", targetPathDescriptor{
- Kind: KindPage,
- Dir: "/a/b",
- BaseName: "index",
- Sections: []string{"a"},
- Type: output.HTMLFormat}, "/a/b/index.html"},
-
- {
- "HTML page with special chars", targetPathDescriptor{
- Kind: KindPage,
- Dir: "/a/b",
- BaseName: "My Page!",
- Type: output.HTMLFormat}, "/a/b/My-Page/index.html"},
- {"RSS home", targetPathDescriptor{Kind: kindRSS, Type: output.RSSFormat}, "/index.xml"},
- {"RSS section list", targetPathDescriptor{
- Kind: kindRSS,
- Sections: []string{"sect1"},
- Type: output.RSSFormat}, "/sect1/index.xml"},
- {
- "AMP page", targetPathDescriptor{
- Kind: KindPage,
- Dir: "/a/b/c",
- BaseName: "myamp",
- Type: output.AMPFormat}, "/amp/a/b/c/myamp/index.html"},
- {
- "AMP page with URL with suffix", targetPathDescriptor{
- Kind: KindPage,
- Dir: "/sect/",
- BaseName: "mypage",
- URL: "/some/other/url.xhtml",
- Type: output.HTMLFormat}, "/some/other/url.xhtml"},
- {
- "JSON page with URL without suffix", targetPathDescriptor{
- Kind: KindPage,
- Dir: "/sect/",
- BaseName: "mypage",
- URL: "/some/other/path/",
- Type: output.JSONFormat}, "/some/other/path/index.json"},
- {
- "JSON page with URL without suffix and no trailing slash", targetPathDescriptor{
- Kind: KindPage,
- Dir: "/sect/",
- BaseName: "mypage",
- URL: "/some/other/path",
- Type: output.JSONFormat}, "/some/other/path/index.json"},
- {
- "HTML page with expanded permalink", targetPathDescriptor{
- Kind: KindPage,
- Dir: "/a/b",
- BaseName: "mypage",
- ExpandedPermalink: "/2017/10/my-title",
- Type: output.HTMLFormat}, "/2017/10/my-title/index.html"},
- {
- "Paginated HTML home", targetPathDescriptor{
- Kind: KindHome,
- BaseName: "_index",
- Type: output.HTMLFormat,
- Addends: "page/3"}, "/page/3/index.html"},
- {
- "Paginated Taxonomy list", targetPathDescriptor{
- Kind: KindTaxonomy,
- BaseName: "_index",
- Sections: []string{"tags", "hugo"},
- Type: output.HTMLFormat,
- Addends: "page/3"}, "/tags/hugo/page/3/index.html"},
- {
- "Regular page with addend", targetPathDescriptor{
- Kind: KindPage,
- Dir: "/a/b",
- BaseName: "mypage",
- Addends: "c/d/e",
- Type: output.HTMLFormat}, "/a/b/mypage/c/d/e/index.html"},
- }
-
- for i, test := range tests {
- test.d.PathSpec = pathSpec
- test.d.UglyURLs = uglyURLs
- test.d.LangPrefix = langPrefix
- test.d.IsMultihost = multiHost
- test.d.Dir = filepath.FromSlash(test.d.Dir)
- isUgly := uglyURLs && !test.d.Type.NoUgly
-
- expected := test.expected
-
- // TODO(bep) simplify
- if test.d.Kind == KindPage && test.d.BaseName == test.d.Type.BaseName {
-
- } else if test.d.Kind == KindHome && test.d.Type.Path != "" {
- } else if (!strings.HasPrefix(expected, "/index") || test.d.Addends != "") && test.d.URL == "" && isUgly {
- expected = strings.Replace(expected,
- "/"+test.d.Type.BaseName+"."+test.d.Type.MediaType.Suffix(),
- "."+test.d.Type.MediaType.Suffix(), -1)
- }
-
- if test.d.LangPrefix != "" && !(test.d.Kind == KindPage && test.d.URL != "") {
- expected = "/" + test.d.LangPrefix + expected
- } else if multiHost && test.d.LangPrefix != "" && test.d.URL != "" {
- expected = "/" + test.d.LangPrefix + expected
- }
-
- expected = filepath.FromSlash(expected)
-
- pagePath := createTargetPath(test.d)
-
- if pagePath != expected {
- t.Fatalf("[%d] [%s] targetPath expected %q, got: %q", i, test.name, expected, pagePath)
- }
- }
- })
- }
- }
- }
-}