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