summaryrefslogtreecommitdiffstats
path: root/hugolib/page_test.go
diff options
context:
space:
mode:
authorVas Sudanagunta <vas@commonkarma.org>2018-01-21 14:40:58 -0500
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-01-22 13:55:08 +0100
commit8125b4b03d10eb73f8aea3f9ea41172aba8df082 (patch)
treea659fbbdddef61782a28f8bd011f8543964a16d1 /hugolib/page_test.go
parent87217d1d0a96ffcea0cd1904c89805367bc16ccf (diff)
Tighten page kind logic, introduce tests
Diffstat (limited to 'hugolib/page_test.go')
-rw-r--r--hugolib/page_test.go54
1 files changed, 54 insertions, 0 deletions
diff --git a/hugolib/page_test.go b/hugolib/page_test.go
index c947382e4..2413ac4a2 100644
--- a/hugolib/page_test.go
+++ b/hugolib/page_test.go
@@ -1010,6 +1010,60 @@ func TestCreatePage(t *testing.T) {
}
}
+func TestPageKind(t *testing.T) {
+ t.Parallel()
+ const sep = helpers.FilePathSeparator
+ var tests = []struct {
+ file string
+ kind string
+ }{
+ {"_index.md", KindHome},
+ {"about.md", KindPage},
+ {"sectionA" + sep + "_index.md", KindSection},
+ {"sectionA" + sep + "about.md", KindPage},
+ {"categories" + sep + "_index.md", KindTaxonomyTerm},
+ {"categories" + sep + "categoryA" + sep + "_index.md", KindTaxonomy},
+ {"tags" + sep + "_index.md", KindTaxonomyTerm},
+ {"tags" + sep + "tagA" + sep + "_index.md", KindTaxonomy},
+
+ // nn is configured as a language
+ {"_index.nn.md", KindHome},
+ {"about.nn.md", KindPage},
+ {"sectionA" + sep + "_index.nn.md", KindSection},
+ {"sectionA" + sep + "about.nn.md", KindPage},
+
+ // should NOT be categorized as KindHome
+ {"_indexNOT.md", KindPage},
+
+ // To be consistent with FileInfo.TranslationBaseName(),
+ // language codes not explicitly configured for the site
+ // are not treated as such. "fr" is not configured as
+ // a language in the test site, so ALL of the
+ // following should be KindPage
+ {"_index.fr.md", KindPage}, //not KindHome
+ {"about.fr.md", KindPage},
+ {"sectionA" + sep + "_index.fr.md", KindPage}, // KindSection
+ {"sectionA" + sep + "about.fr.md", KindPage},
+ }
+
+ for _, test := range tests {
+ s := newTestSite(t, "languages.nn.languageName", "Nynorsk")
+ taxonomies := make(map[string]string)
+ taxonomies["tag"] = "tags"
+ taxonomies["category"] = "categories"
+ s.Taxonomies = make(TaxonomyList)
+ for _, plural := range taxonomies {
+ s.Taxonomies[plural] = make(Taxonomy)
+ }
+
+ p, _ := s.NewPage(test.file)
+ p.setValuesForKind(s)
+ if p.Kind != test.kind {
+ t.Errorf("for %s expected p.Kind == %s, got %s", test.file, test.kind, p.Kind)
+ }
+ }
+}
+
func TestDegenerateInvalidFrontMatterShortDelim(t *testing.T) {
t.Parallel()
var tests = []struct {