• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict'
2var fs = require('graceful-fs')
3var path = require('path')
4var test = require('tap').test
5var rimraf = require('rimraf')
6var writeStream = require('../index.js')
7
8var target = path.resolve(__dirname, 'test-chown')
9
10test('chown works', function (t) {
11  t.plan(1)
12  var stream = writeStream(target, {chown: {uid: process.getuid(), gid: process.getgid()}})
13  var hadError = false
14  stream.on('error', function (er) {
15    hadError = true
16    console.log('#', er)
17  })
18  stream.on('close', function () {
19    t.is(hadError, false, 'no errors before close')
20  })
21  stream.end()
22})
23
24test('chown fails', function (t) {
25  t.plan(1)
26  fs.chown = function (file, uid, gid, cb) {
27    cb(new Error('TEST BREAK'))
28  }
29  var stream = writeStream(target, {chown: {uid: process.getuid(), gid: process.getgid()}})
30  var hadError = false
31  stream.on('error', function (er) {
32    hadError = true
33    console.log('#', er)
34  })
35  stream.on('close', function () {
36    t.is(hadError, true, 'error before close')
37  })
38  stream.end()
39})
40
41test('cleanup', function (t) {
42  rimraf.sync(target)
43  t.end()
44})
45