diff options
author | Safonov Nikita <ns3777k@gmail.com> | 2015-09-26 00:39:46 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2015-10-17 13:58:43 +0200 |
commit | 5e97cf3020284859ddaba528801329a54cf95847 (patch) | |
tree | cd186f99c06a75d58fb44478ad44c2eae7de4068 /commands/new_test.go | |
parent | 3a412543f617cf9fa460061aa5a33db43675c9f9 (diff) |
Add force flag
If flag is passed the site will be created inside non-empty folder
only if there are no existent folders or config with the same name
hugo creates.
Resolves: #1163
Diffstat (limited to 'commands/new_test.go')
-rw-r--r-- | commands/new_test.go | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/commands/new_test.go b/commands/new_test.go index 39c830458..eb1383325 100644 --- a/commands/new_test.go +++ b/commands/new_test.go @@ -1,9 +1,12 @@ package commands import ( + "github.com/spf13/afero" + "github.com/spf13/hugo/hugofs" "github.com/stretchr/testify/assert" "path/filepath" "testing" + "os" ) // Issue #1133 @@ -12,3 +15,65 @@ func TestNewContentPathSectionWithForwardSlashes(t *testing.T) { assert.Equal(t, filepath.FromSlash("/post/new.md"), p) assert.Equal(t, "post", s) } + +func checkNewSiteInited(basepath string, t *testing.T) { + paths := []string{ + filepath.Join(basepath, "layouts"), + filepath.Join(basepath, "content"), + filepath.Join(basepath, "archetypes"), + filepath.Join(basepath, "static"), + filepath.Join(basepath, "data"), + filepath.Join(basepath, "config.toml"), + } + + for _, path := range paths { + _, err := hugofs.SourceFs.Stat(path) + assert.Nil(t, err) + } +} + +func TestDoNewSite(t *testing.T) { + basepath := filepath.Join(os.TempDir(), "blog") + hugofs.SourceFs = new(afero.MemMapFs) + err := doNewSite(basepath, false) + assert.Nil(t, err) + + checkNewSiteInited(basepath, t) +} + +func TestDoNewSite_error_base_exists(t *testing.T) { + basepath := filepath.Join(os.TempDir(), "blog") + hugofs.SourceFs = new(afero.MemMapFs) + hugofs.SourceFs.MkdirAll(basepath, 777) + err := doNewSite(basepath, false) + assert.NotNil(t, err) +} + +func TestDoNewSite_force_empty_dir(t *testing.T) { + basepath := filepath.Join(os.TempDir(), "blog") + hugofs.SourceFs = new(afero.MemMapFs) + hugofs.SourceFs.MkdirAll(basepath, 777) + err := doNewSite(basepath, true) + assert.Nil(t, err) + + checkNewSiteInited(basepath, t) +} + +func TestDoNewSite_error_force_dir_inside_exists(t *testing.T) { + basepath := filepath.Join(os.TempDir(), "blog") + contentPath := filepath.Join(basepath, "content") + hugofs.SourceFs = new(afero.MemMapFs) + hugofs.SourceFs.MkdirAll(contentPath, 777) + err := doNewSite(basepath, true) + assert.NotNil(t, err) +} + +func TestDoNewSite_error_force_config_inside_exists(t *testing.T) { + basepath := filepath.Join(os.TempDir(), "blog") + configPath := filepath.Join(basepath, "config.toml") + hugofs.SourceFs = new(afero.MemMapFs) + hugofs.SourceFs.MkdirAll(basepath, 777) + hugofs.SourceFs.Create(configPath) + err := doNewSite(basepath, true) + assert.NotNil(t, err) +} |