node/test/parallel/test-fs-symlink-dir-junction-relative.js
Gibson Fahnestock 7a0e462f9f test: use eslint to fix var->const/let
Manually fix issues that eslint --fix couldn't do automatically.

PR-URL: https://github.com/nodejs/node/pull/10685
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2017-01-11 11:43:52 +00:00

37 lines
1015 B
JavaScript

'use strict';
// Test creating and resolving relative junction or symbolic link
const common = require('../common');
const assert = require('assert');
const path = require('path');
const fs = require('fs');
const linkPath1 = path.join(common.tmpDir, 'junction1');
const linkPath2 = path.join(common.tmpDir, 'junction2');
const linkTarget = path.join(common.fixturesDir);
const linkData = path.join(common.fixturesDir);
common.refreshTmpDir();
// Test fs.symlink()
fs.symlink(linkData, linkPath1, 'junction', common.mustCall(function(err) {
assert.ifError(err);
verifyLink(linkPath1);
}));
// Test fs.symlinkSync()
fs.symlinkSync(linkData, linkPath2, 'junction');
verifyLink(linkPath2);
function verifyLink(linkPath) {
const stats = fs.lstatSync(linkPath);
assert.ok(stats.isSymbolicLink());
const data1 = fs.readFileSync(linkPath + '/x.txt', 'ascii');
const data2 = fs.readFileSync(linkTarget + '/x.txt', 'ascii');
assert.strictEqual(data1, data2);
// Clean up.
fs.unlinkSync(linkPath);
}