diff --git a/commands/version.go b/commands/version.go index b38393357..0fdffba14 100644 --- a/commands/version.go +++ b/commands/version.go @@ -22,7 +22,6 @@ import ( "bitbucket.org/kardianos/osext" "github.com/spf13/cobra" - "github.com/spf13/viper" ) var timeLayout string // the layout for time.Time @@ -37,7 +36,6 @@ var version = &cobra.Command{ Short: "Print the version number of Hugo", Long: `All software has versions. This is Hugo's`, Run: func(cmd *cobra.Command, args []string) { - InitializeConfig() if buildDate == "" { setBuildDate() // set the build date from executable's mdate } else { @@ -70,39 +68,12 @@ func setBuildDate() { return } t := fi.ModTime() - buildDate = t.Format(getDateFormat()) + buildDate = t.Format(time.RFC3339) } // formatBuildDate formats the buildDate according to the value in // .Params.DateFormat, if it's set. func formatBuildDate() { t, _ := time.Parse("2006-01-02T15:04:05", buildDate) - buildDate = t.Format(getDateFormat()) -} - -// getDateFormat gets the dateFormat value from Params. The dateFormat should -// be a valid time layout. If it isn't set, time.RFC3339 is used. -func getDateFormat() string { - params := viper.Get("params") - if params == nil { - return time.RFC3339 - } - - // var typMapIfaceIface = reflect.TypeOf(map[interface{}{}]interface{}{}) - // var typMapStringIface = reflect.TypeOf(map[string]interface{}{}) - parms := map[string]interface{}{} - switch params.(type) { - case map[interface{}]interface{}: - for k, v := range params.(map[interface{}]interface{}) { - parms[k.(string)] = v - } - case map[string]interface{}: - parms = params.(map[string]interface{}) - } - - layout := parms["DateFormat"] - if layout == nil || layout == "" { - return time.RFC3339 - } - return layout.(string) + buildDate = t.Format(time.RFC3339) } diff --git a/commands/version_test.go b/commands/version_test.go deleted file mode 100644 index b530efd6e..000000000 --- a/commands/version_test.go +++ /dev/null @@ -1,71 +0,0 @@ -package commands - -import ( - "io/ioutil" - "testing" - - "github.com/spf13/viper" - "github.com/stretchr/testify/assert" -) - -// config json -var JSONConfig = []byte(`{ - "params": { - "DateFormat": "Jan 2 2006" - } -}`) - -// config toml -var TOMLConfig = []byte(` -[params] -DateFormat = "Jan 2 2006" -`) - -// config yaml -var YAMLConfig = []byte(` -params: - DateFormat: "Jan 2 2006" -`) - -var config map[string]interface{} = make(map[string]interface{}) - -func TestGetDateFormatJSON(t *testing.T) { - jsonFile, _ := ioutil.TempFile("", "config.json") - fname := jsonFile.Name() - jsonFile.Write(JSONConfig) - jsonFile.Close() - viper.SetConfigFile(fname) - viper.SetConfigType("json") - viper.ReadInConfig() - - dateFmt := getDateFormat() - assert.Equal(t, "Jan 2 2006", dateFmt) -} - -func TestGetDateFormatTOML(t *testing.T) { - viper.Reset() - tomlFile, _ := ioutil.TempFile("", "config.toml") - fname := tomlFile.Name() - tomlFile.Write(TOMLConfig) - tomlFile.Close() - viper.SetConfigFile(fname) - viper.SetConfigType("toml") - viper.ReadInConfig() - - dateFmt := getDateFormat() - assert.Equal(t, "Jan 2 2006", dateFmt) -} - -func TestGetDateFormatYAML(t *testing.T) { - viper.Reset() - yamlFile, _ := ioutil.TempFile("", "config.yaml") - fname := yamlFile.Name() - yamlFile.Write(YAMLConfig) - yamlFile.Close() - viper.SetConfigFile(fname) - viper.SetConfigType("yaml") - viper.ReadInConfig() - - dateFmt := getDateFormat() - assert.Equal(t, "Jan 2 2006", dateFmt) -}