summaryrefslogtreecommitdiff
path: root/test/parallel/test-fs-readdir-ucs2.js
blob: e5b85665932a7c8b688960d150ba22fed6ecb632 (plain)
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
30
31
32
'use strict';

const common = require('../common');
if (!common.isLinux)
  common.skip('Test is linux specific.');

const path = require('path');
const fs = require('fs');
const assert = require('assert');

const tmpdir = require('../common/tmpdir');
tmpdir.refresh();
const filename = '\uD83D\uDC04';
const root = Buffer.from(`${tmpdir.path}${path.sep}`);
const filebuff = Buffer.from(filename, 'ucs2');
const fullpath = Buffer.concat([root, filebuff]);

try {
  fs.closeSync(fs.openSync(fullpath, 'w+'));
} catch (e) {
  if (e.code === 'EINVAL')
    common.skip('test requires filesystem that supports UCS2');
  throw e;
}

fs.readdir(tmpdir.path, 'ucs2', common.mustCall((err, list) => {
  assert.ifError(err);
  assert.strictEqual(list.length, 1);
  const fn = list[0];
  assert.deepStrictEqual(Buffer.from(fn, 'ucs2'), filebuff);
  assert.strictEqual(fn, filename);
}));