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