'use strict' var fs = require('graceful-fs') var path = require('path') var test = require('tap').test var rimraf = require('rimraf') var writeStream = require('../index.js') var target = path.resolve(__dirname, 'test-chown') test('chown works', function (t) { t.plan(1) var stream = writeStream(target, {chown: {uid: process.getuid(), gid: process.getgid()}}) var hadError = false stream.on('error', function (er) { hadError = true console.log('#', er) }) stream.on('close', function () { t.is(hadError, false, 'no errors before close') }) stream.end() }) test('chown fails', function (t) { t.plan(1) fs.chown = function (file, uid, gid, cb) { cb(new Error('TEST BREAK')) } var stream = writeStream(target, {chown: {uid: process.getuid(), gid: process.getgid()}}) var hadError = false stream.on('error', function (er) { hadError = true console.log('#', er) }) stream.on('close', function () { t.is(hadError, true, 'error before close') }) stream.end() }) test('cleanup', function (t) { rimraf.sync(target) t.end() })