1'use strict';
2
3const common = require('../common');
4const assert = require('assert');
5const path = require('path');
6const fs = require('fs');
7
8const tmpdir = require('../common/tmpdir');
9tmpdir.refresh();
10const tmpDir = tmpdir.path;
11const longPath = path.join(...[tmpDir].concat(Array(30).fill('1234567890')));
12fs.mkdirSync(longPath, { recursive: true });
13
14// Test if we can have symlinks to files and folders with long filenames
15const targetDirectory = path.join(longPath, 'target-directory');
16fs.mkdirSync(targetDirectory);
17const pathDirectory = path.join(tmpDir, 'new-directory');
18fs.symlink(targetDirectory, pathDirectory, 'dir', common.mustSucceed(() => {
19  assert(fs.existsSync(pathDirectory));
20}));
21
22const targetFile = path.join(longPath, 'target-file');
23fs.writeFileSync(targetFile, 'data');
24const pathFile = path.join(tmpDir, 'new-file');
25fs.symlink(targetFile, pathFile, common.mustSucceed(() => {
26  assert(fs.existsSync(pathFile));
27}));
28