'use strict'; const common = require('../common'); // This test is only relevant on Windows. if (!common.isWindows) common.skip('Windows specific test.'); // This test ensures fs.realpathSync works on properly on Windows without // throwing ENOENT when the path involves a fileserver. // https://github.com/nodejs/node-v0.x-archive/issues/3542 const assert = require('assert'); const fs = require('fs'); const os = require('os'); const path = require('path'); function test(p) { const result = fs.realpathSync(p); assert.strictEqual(result.toLowerCase(), path.resolve(p).toLowerCase()); fs.realpath(p, common.mustCall(function(err, result) { assert.ok(!err); assert.strictEqual(result.toLowerCase(), path.resolve(p).toLowerCase()); })); } test(`//${os.hostname()}/c$/Windows/System32`); test(`//${os.hostname()}/c$/Windows`); test(`//${os.hostname()}/c$/`); test(`\\\\${os.hostname()}\\c$\\`); test('C:\\'); test('C:'); test(process.env.windir);