shithub: hugo

Download patch

ref: 9a83f7a01b1fe79e603c3eb78d380614e5e00ba7
parent: 62dd1d45c12193ac5ad95a4f491dfcdbcad7be7a
author: spf13 <[email protected]>
date: Mon Apr 7 07:44:13 EDT 2014

Fixing all tests to pass with new Viper Config

--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -80,7 +80,7 @@
 }
 
 func InitializeConfig() {
-	viper.SetConfigName(CfgFile) // config
+	viper.SetConfigName(CfgFile)
 	viper.AddConfigPath(Source)
 	viper.ReadInConfig()
 
--- a/hugolib/page_permalink_test.go
+++ b/hugolib/page_permalink_test.go
@@ -3,6 +3,8 @@
 import (
 	"html/template"
 	"testing"
+
+	"github.com/spf13/viper"
 )
 
 func TestPermalink(t *testing.T) {
@@ -32,6 +34,7 @@
 	}
 
 	for _, test := range tests {
+		viper.Set("uglyurls", test.uglyurls)
 		p := &Page{
 			Node: Node{
 				UrlPath: UrlPath{
@@ -40,9 +43,6 @@
 				},
 				Site: SiteInfo{
 					BaseUrl: test.base,
-					Config: &Config{
-						UglyUrls: test.uglyurls,
-					},
 				},
 			},
 			File: File{FileName: test.file, Dir: test.dir, Extension: "html"},
--- a/hugolib/rss_test.go
+++ b/hugolib/rss_test.go
@@ -2,9 +2,11 @@
 
 import (
 	"bytes"
+	"testing"
+
 	"github.com/spf13/hugo/source"
 	"github.com/spf13/hugo/target"
-	"testing"
+	"github.com/spf13/viper"
 )
 
 const RSS_TEMPLATE = `<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
@@ -31,9 +33,9 @@
 func TestRSSOutput(t *testing.T) {
 	files := make(map[string][]byte)
 	target := &target.InMemoryTarget{Files: files}
+	viper.Set("baseurl", "http://auth/bub/")
 	s := &Site{
 		Target: target,
-		Config: Config{BaseUrl: "http://auth/bub/"},
 		Source: &source.InMemorySource{ByteSource: WEIGHTED_SOURCES},
 	}
 	s.initializeSiteInfo()
--- a/hugolib/site_test.go
+++ b/hugolib/site_test.go
@@ -3,12 +3,15 @@
 import (
 	"bytes"
 	"fmt"
-	"github.com/spf13/hugo/source"
-	"github.com/spf13/hugo/target"
 	"html/template"
 	"io"
 	"strings"
 	"testing"
+
+	"github.com/spf13/hugo/helpers"
+	"github.com/spf13/hugo/source"
+	"github.com/spf13/hugo/target"
+	"github.com/spf13/viper"
 )
 
 const (
@@ -200,11 +203,9 @@
 	if true {
 		return
 	}
+
 	for _, test := range tests {
-		s := &Site{
-			Config: Config{ContentDir: "content"},
-		}
-		p := pageMust(ReadFrom(strings.NewReader(test.content), s.Config.GetAbsPath(test.doc)))
+		p := pageMust(ReadFrom(strings.NewReader(test.content), helpers.AbsPathify(test.doc)))
 
 		expected := test.expectedOutFile
 
@@ -232,13 +233,11 @@
 		{"sect/doc8.html", []byte("---\nmarkup: md\n---\n# title\nsome *content*"), "sect"},
 	}
 
+	viper.Set("verbose", true)
+	viper.Set("CanonifyUrls", true)
+	viper.Set("baseurl", "http://auth/bub")
 	s := &Site{
 		Target: target,
-		Config: Config{
-			Verbose:      true,
-			BaseUrl:      "http://auth/bub",
-			CanonifyUrls: true,
-		},
 		Source: &source.InMemorySource{ByteSource: sources},
 	}
 
@@ -295,15 +294,13 @@
 		{"content/blue/doc2.html", []byte("---\nf: t\n---\n<!doctype html><html><body>more content</body></html>"), "blue"},
 	}
 	for _, canonify := range []bool{true, false} {
+		viper.Set("CanonifyUrls", canonify)
+		viper.Set("BaseUrl", "http://auth/bub")
 		s := &Site{
 			Target: target,
-			Config: Config{
-				BaseUrl:      "http://auth/bub",
-				CanonifyUrls: canonify,
-			},
 			Source: &source.InMemorySource{ByteSource: sources},
 		}
-		t.Logf("Rendering with BaseUrl %q and CanonifyUrls set %v", s.Config.BaseUrl, canonify)
+		t.Logf("Rendering with BaseUrl %q and CanonifyUrls set %v", viper.GetString("baseUrl"), canonify)
 		s.initializeSiteInfo()
 		s.prepTemplates()
 		must(s.addTemplate("blue/single.html", TEMPLATE_WITH_URL_ABS))
@@ -335,7 +332,7 @@
 
 			expected := test.expected
 			if !canonify {
-				expected = strings.Replace(expected, s.Config.BaseUrl, "", -1)
+				expected = strings.Replace(expected, viper.GetString("baseurl"), "", -1)
 			}
 			if string(content) != expected {
 				t.Errorf("AbsUrlify content expected:\n%q\ngot\n%q", expected, string(content))
@@ -380,9 +377,10 @@
 func TestOrderedPages(t *testing.T) {
 	files := make(map[string][]byte)
 	target := &target.InMemoryTarget{Files: files}
+
+	viper.Set("baseurl", "http://auth/bub")
 	s := &Site{
 		Target: target,
-		Config: Config{BaseUrl: "http://auth/bub/"},
 		Source: &source.InMemorySource{ByteSource: WEIGHTED_SOURCES},
 	}
 	s.initializeSiteInfo()
@@ -466,9 +464,11 @@
 
 	indexes["tag"] = "tags"
 	indexes["category"] = "categories"
+
+	viper.Set("baseurl", "http://auth/bub")
+	viper.Set("indexes", indexes)
 	s := &Site{
 		Target: target,
-		Config: Config{BaseUrl: "http://auth/bub/", Indexes: indexes},
 		Source: &source.InMemorySource{ByteSource: sources},
 	}
 	s.initializeSiteInfo()
--- a/hugolib/site_url_test.go
+++ b/hugolib/site_url_test.go
@@ -1,10 +1,12 @@
 package hugolib
 
 import (
-	"github.com/spf13/hugo/source"
-	"github.com/spf13/hugo/target"
 	"html/template"
 	"testing"
+
+	"github.com/spf13/hugo/source"
+	"github.com/spf13/hugo/target"
+	"github.com/spf13/viper"
 )
 
 const SLUG_DOC_1 = "---\ntitle: slug doc 1\nslug: slug-doc-1\naliases:\n - sd1/foo/\n - sd2\n - sd3/\n - sd4.html\n---\nslug doc 1 content\n"
@@ -51,10 +53,11 @@
 	files := make(map[string][]byte)
 	target := &target.InMemoryTarget{Files: files}
 	alias := &InMemoryAliasTarget{files: files}
+
+	viper.Set("uglyurls", false)
 	s := &Site{
 		Target: target,
 		Alias:  alias,
-		Config: Config{UglyUrls: false},
 		Source: &source.InMemorySource{ByteSource: urlFakeSource},
 	}
 	s.initializeSiteInfo()
--- a/hugolib/siteinfo_test.go
+++ b/hugolib/siteinfo_test.go
@@ -3,14 +3,15 @@
 import (
 	"bytes"
 	"testing"
+
+	"github.com/spf13/viper"
 )
 
 const SITE_INFO_PARAM_TEMPLATE = `{{ .Site.Params.MyGlobalParam }}`
 
 func TestSiteInfoParams(t *testing.T) {
-	s := &Site{
-		Config: Config{Params: map[string]interface{}{"MyGlobalParam": "FOOBAR_PARAM"}},
-	}
+	viper.Set("Params", map[string]interface{}{"MyGlobalParam": "FOOBAR_PARAM"})
+	s := &Site{}
 
 	s.initialize()
 	if s.Info.Params["MyGlobalParam"] != "FOOBAR_PARAM" {