1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | 'use strict'
|
7 |
|
8 | const writeout = require('../lib')
|
9 | const co = require('co')
|
10 | const path = require('path')
|
11 | const assert = require('assert')
|
12 | const mkdirp = require('mkdirp')
|
13 |
|
14 | let tmpDir = path.resolve(__dirname, '../tmp')
|
15 |
|
16 | describe('writeout', () => {
|
17 | before(() => {
|
18 | mkdirp.sync(tmpDir)
|
19 | })
|
20 |
|
21 | it('Do writeout.', () => co(function * () {
|
22 | let filename = path.resolve(tmpDir, 'foo/bar/baz.txt')
|
23 | let result = yield writeout(filename, 'Oh!', {
|
24 | mkdirp: true,
|
25 | skipIfIdentical: false
|
26 | })
|
27 | assert.ok(result)
|
28 | let result2 = yield writeout(filename, 'Oh!', {
|
29 | mkdirp: false,
|
30 | skipIfIdentical: true
|
31 | })
|
32 | assert.equal(result2.skipped, true)
|
33 | }))
|
34 |
|
35 | it('Do writeout to force.', () => co(function * () {
|
36 | let filename = path.resolve(tmpDir, 'foo/bar/baz-readonly.txt')
|
37 | yield writeout(filename, 'This is readonly.', {
|
38 | mkdirp: true,
|
39 | skipIfIdentical: false,
|
40 | mode: '444'
|
41 | })
|
42 | yield writeout(filename, 'Override readonly file.', {
|
43 | mkdirp: false,
|
44 | skipIfIdentical: true,
|
45 | mode: '644',
|
46 | force: true
|
47 | })
|
48 | }))
|
49 | })
|
50 |
|
51 |
|