shithub: hugo

ref: 390c158f4e934278e22f2700fcfc1644de402f97
dir: /commands/version_test.go/

View raw version
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)
}