mirror of
https://github.com/nodejs/node.git
synced 2025-04-28 13:40:37 +00:00

Fixes: https://github.com/nodejs/node/issues/52663 Signed-off-by: Juan José Arboleda <soyjuanarbol@gmail.com> PR-URL: https://github.com/nodejs/node/pull/55714 Reviewed-By: Ethan Arrowood <ethan@arrowood.dev> Reviewed-By: James M Snell <jasnell@gmail.com>
37 lines
990 B
JavaScript
37 lines
990 B
JavaScript
'use strict';
|
|
|
|
// Refs: https://github.com/nodejs/node/issues/52663
|
|
const common = require('../common');
|
|
const assert = require('node:assert');
|
|
const fs = require('node:fs');
|
|
const path = require('node:path');
|
|
|
|
if (!common.canCreateSymLink())
|
|
common.skip('insufficient privileges');
|
|
|
|
const tmpdir = require('../common/tmpdir');
|
|
const readdirDir = tmpdir.path;
|
|
// clean up the tmpdir
|
|
tmpdir.refresh();
|
|
|
|
// a/1, a/2
|
|
const a = path.join(readdirDir, 'a');
|
|
fs.mkdirSync(a);
|
|
fs.writeFileSync(path.join(a, '1'), 'irrelevant');
|
|
fs.writeFileSync(path.join(a, '2'), 'irrelevant');
|
|
|
|
// b/1
|
|
const b = path.join(readdirDir, 'b');
|
|
fs.mkdirSync(b);
|
|
fs.writeFileSync(path.join(b, '1'), 'irrelevant');
|
|
|
|
// b/c -> a
|
|
const c = path.join(readdirDir, 'b', 'c');
|
|
fs.symlinkSync(a, c, 'dir');
|
|
|
|
// Just check that the number of entries are the same
|
|
assert.strictEqual(
|
|
fs.readdirSync(b, { recursive: true, withFileTypes: true }).length,
|
|
fs.readdirSync(b, { recursive: true, withFileTypes: false }).length
|
|
);
|