toolong.js 691 Bytes
Newer Older
liang ce committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
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()
})