toolong.js 691 Bytes
var path = require('path')
var test = require('tap').test
var writeStream = require('../index.js')

function repeat (times, string) {
  var output = ''
  for (var ii = 0; ii < times; ++ii) {
    output += string
  }
  return output
}

var target = path.resolve(__dirname, repeat(1000, 'test'))

test('name too long', function (t) {
  t.plan(2)
  var stream = writeStream(target)
  var hadError = false
  stream.on('error', function (er) {
    if (!hadError) {
      t.is(er.code, 'ENAMETOOLONG', target.length + ' character name results in ENAMETOOLONG')
      hadError = true
    }
  })
  stream.on('close', function () {
    t.ok(hadError, 'got error before close')
  })
  stream.end()
})