diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-04-14 09:17:30 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-04-14 11:32:25 +0200 |
commit | bede93de005dcf934f3ec9be6388310ac6c57acd (patch) | |
tree | 6a980564cf118b53be2c2103059577568812cddd /commands/commands_test.go | |
parent | 2aab6dee850517533683504a6158e0ef0a3ffc57 (diff) |
commands: Correctly handle destination and i18n-warnings
And add some more CLI tests.
See #4607
Diffstat (limited to 'commands/commands_test.go')
-rw-r--r-- | commands/commands_test.go | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/commands/commands_test.go b/commands/commands_test.go index 6fabbbb0b..5173e7409 100644 --- a/commands/commands_test.go +++ b/commands/commands_test.go @@ -21,6 +21,7 @@ import ( "testing" "github.com/spf13/cobra" + "github.com/spf13/viper" "github.com/stretchr/testify/require" ) @@ -53,7 +54,24 @@ func TestCommandsPersistentFlags(t *testing.T) { tests := []struct { args []string check func(command []cmder) - }{{[]string{"server", "--config=myconfig.toml", "-b=https://example.com/b/", "--source=mysource"}, func(commands []cmder) { + }{{[]string{"server", + "--config=myconfig.toml", + "--contentDir=mycontent", + "--layoutDir=mylayouts", + "--theme=mytheme", + "--themesDir=mythemes", + "--cleanDestinationDir", + "--navigateToChanged", + "--disableLiveReload", + "--noHTTPCache", + "--i18n-warnings", + "--destination=/tmp/mydestination", + "-b=https://example.com/b/", + "--port=1366", + "--renderToDisk", + "--source=mysource", + "--uglyURLs"}, func(commands []cmder) { + var sc *serverCmd for _, command := range commands { if b, ok := command.(commandsBuilderGetter); ok { v := b.getCmmandsBuilder().hugoBuilderCommon @@ -61,7 +79,32 @@ func TestCommandsPersistentFlags(t *testing.T) { assert.Equal("mysource", v.source) assert.Equal("https://example.com/b/", v.baseURL) } + + if srvCmd, ok := command.(*serverCmd); ok { + sc = srvCmd + } } + + assert.NotNil(sc) + assert.True(sc.navigateToChanged) + assert.True(sc.disableLiveReload) + assert.True(sc.noHTTPCache) + assert.True(sc.renderToDisk) + assert.Equal(1366, sc.serverPort) + + cfg := viper.New() + sc.flagsToConfig(cfg) + assert.Equal("/tmp/mydestination", cfg.GetString("publishDir")) + assert.Equal("mycontent", cfg.GetString("contentDir")) + assert.Equal("mylayouts", cfg.GetString("layoutDir")) + assert.Equal("mytheme", cfg.GetString("theme")) + assert.Equal("mythemes", cfg.GetString("themesDir")) + + assert.True(cfg.GetBool("uglyURLs")) + + // The flag is named i18n-warnings + assert.True(cfg.GetBool("logI18nWarnings")) + }}} for _, test := range tests { |