UNPKG

1.19 kBJavaScriptView Raw
1/**
2 * Test for writeout.js
3 * Runs with nodeunit.
4 */
5
6'use strict'
7
8const writeout = require('../lib')
9const co = require('co')
10const path = require('path')
11const assert = require('assert')
12const mkdirp = require('mkdirp')
13
14let tmpDir = path.resolve(__dirname, '../tmp')
15
16describe('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/* global describe, before, it */