1 |
|
2 | fs = require 'fs'
|
3 | path = require 'path'
|
4 | fs.exists ?= path.exists
|
5 | should = require 'should'
|
6 | mecano = if process.env.MECANO_COV then require '../lib-cov/mecano' else require '../lib/mecano'
|
7 | test = require './test'
|
8 |
|
9 | describe 'mkdir', ->
|
10 |
|
11 | scratch = test.scratch @
|
12 |
|
13 | it 'should create dir', (next) ->
|
14 | source = "#{scratch}/a_dir"
|
15 | mecano.mkdir
|
16 | directory: source
|
17 | , (err, created) ->
|
18 | should.not.exist err
|
19 | created.should.eql 1
|
20 | mecano.mkdir
|
21 | directory: source
|
22 | , (err, created) ->
|
23 | should.not.exist err
|
24 | created.should.eql 0
|
25 | next()
|
26 |
|
27 | it 'should create dir recursively', (next) ->
|
28 | source = "#{scratch}/a_parent_dir/a_dir"
|
29 | mecano.mkdir
|
30 | directory: source
|
31 | , (err, created) ->
|
32 | should.not.exist err
|
33 | created.should.eql 1
|
34 | next()
|
35 |
|
36 | it 'should stop when `exclude` match', (next) ->
|
37 | source = "#{scratch}/a_parent_dir/a_dir/do_not_create_this"
|
38 | mecano.mkdir
|
39 | directory: source
|
40 | exclude: /^do/
|
41 | , (err, created) ->
|
42 | should.not.exist err
|
43 | created.should.eql 1
|
44 | fs.exists source, (created) ->
|
45 | created.should.not.be.ok
|
46 | source = path.dirname source
|
47 | fs.exists source, (created) ->
|
48 | created.should.be.ok
|
49 | next()
|
50 |
|
51 | it 'should honore `cwd` for relative paths', (next) ->
|
52 | mecano.mkdir
|
53 | directory: './a_dir'
|
54 | cwd: scratch
|
55 | , (err, created) ->
|
56 | should.not.exist err
|
57 | created.should.eql 1
|
58 | fs.exists "#{scratch}/a_dir", (created) ->
|
59 | created.should.be.ok
|
60 | next()
|
61 |
|