summaryrefslogtreecommitdiffstats
path: root/commands/new_test.go
diff options
context:
space:
mode:
authorSafonov Nikita <ns3777k@gmail.com>2015-09-26 00:39:46 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2015-10-17 13:58:43 +0200
commit5e97cf3020284859ddaba528801329a54cf95847 (patch)
treecd186f99c06a75d58fb44478ad44c2eae7de4068 /commands/new_test.go
parent3a412543f617cf9fa460061aa5a33db43675c9f9 (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.go65
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)
+}