Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

path: Do not coerce paths to strings on Windows

Fix #4795
  • Loading branch information...
commit 0cced7dbf2638944b3a6d700c0090a9bb4aa895e 1 parent d69a26b
isaacs authored
Showing with 13 additions and 5 deletions.
  1. +3 −1 lib/path.js
  2. +10 −4 test/simple/test-path-makelong.js
4 lib/path.js
View
@@ -448,7 +448,9 @@ exports.existsSync = util.deprecate(function(path) {
if (isWindows) {
exports._makeLong = function(path) {
- path = '' + path;
+ if (typeof path !== 'string')
+ return path;
+
if (!path) {
return '';
}
14 test/simple/test-path-makelong.js
View
@@ -19,11 +19,11 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
-if (process.platform === 'win32') {
- var assert = require('assert');
- var path = require('path');
- var common = require('../common');
+var assert = require('assert');
+var path = require('path');
+var common = require('../common');
+if (process.platform === 'win32') {
var file = path.join(common.fixturesDir, 'a.js');
var resolvedFile = path.resolve(file);
@@ -36,3 +36,9 @@ if (process.platform === 'win32') {
assert.equal('\\\\.\\pipe\\somepipe',
path._makeLong('\\\\.\\pipe\\somepipe'));
}
+
+assert.equal(path._makeLong(null), null);
+assert.equal(path._makeLong(100), 100);
+assert.equal(path._makeLong(path), path);
+assert.equal(path._makeLong(false), false);
+assert.equal(path._makeLong(true), true);
Please sign in to comment.
Something went wrong with that request. Please try again.