--- /dev/null
+package hugolib
+
+import (
+ "testing"
+ "strings"
+)
+
+func TestSitePossibleIndexes(t *testing.T) {
+ site := new(Site)
+ page, _ := ReadFrom(strings.NewReader(PAGE_YAML_WITH_INDEXES_A), "path/to/page")
+ site.Pages = append(site.Pages, page)
+ indexes := site.possibleIndexes()
+ if !compareStringSlice(indexes, []string{"tags", "categories"}) {
+ t.Fatalf("possible indexes do not match [tags categories]. Got: %s", indexes)
+ }
+}
+
+
return
}
+func (s *Site) possibleIndexes() (indexes []string) {
+ for _, p := range s.Pages {
+ for k, _ := range p.Params {
+ if !inStringArray(indexes, k) {
+ indexes = append(indexes, k)
+ }
+ }
+ }
+ return
+}
+
+func inStringArray(arr []string, el string) bool {
+ for _, v := range arr {
+ if v == el {
+ return true
+ }
+ }
+ return false
+}
+
func (s *Site) RenderAliases() error {
for i, p := range s.Pages {
for _, a := range p.Aliases {