mirror of https://github.com/nodejs/node.git
Revert "path: fix bugs related to paths with trailing slashes"
It only does the right thing on unix, and the implementation
isn't great either.
This reverts commit bb1c03989f
.
pull/24504/head
parent
31fc52ab53
commit
7be27240b5
10
lib/path.js
10
lib/path.js
|
@ -290,17 +290,7 @@ if (isWindows) {
|
|||
// 'root' is just a slash, or nothing.
|
||||
var splitPathRe =
|
||||
/^(\/?)([\s\S]+\/(?!$)|\/)?((?:\.{1,2}$|[\s\S]+?)?(\.[^.\/]*)?)$/;
|
||||
var trailingSlash = /\/+$/;
|
||||
var splitPath = function(filename) {
|
||||
|
||||
// removes trailing slashes before spliting the path
|
||||
var tail = trailingSlash.exec(filename);
|
||||
if (tail) {
|
||||
if (tail.index === 0) return ['/', '', '', ''];
|
||||
|
||||
filename = filename.slice(0, tail.index);
|
||||
}
|
||||
|
||||
var result = splitPathRe.exec(filename);
|
||||
return [result[1] || '', result[2] || '', result[3] || '', result[4] || ''];
|
||||
};
|
||||
|
|
|
@ -30,11 +30,6 @@ var f = __filename;
|
|||
|
||||
assert.equal(path.basename(f), 'test-path.js');
|
||||
assert.equal(path.basename(f, '.js'), 'test-path');
|
||||
assert.equal(path.basename('/dir/basename.ext'), 'basename.ext');
|
||||
assert.equal(path.basename('/basename.ext'), 'basename.ext');
|
||||
assert.equal(path.basename('basename.ext'), 'basename.ext');
|
||||
assert.equal(path.basename('basename.ext/'), 'basename.ext');
|
||||
assert.equal(path.basename('basename.ext//'), 'basename.ext');
|
||||
|
||||
// POSIX filenames may include control characters
|
||||
// c.f. http://www.dwheeler.com/essays/fixing-unix-linux-filenames.html
|
||||
|
@ -52,7 +47,6 @@ assert.equal(path.dirname('/a/b/'), '/a');
|
|||
assert.equal(path.dirname('/a/b'), '/a');
|
||||
assert.equal(path.dirname('/a'), '/');
|
||||
assert.equal(path.dirname('/'), '/');
|
||||
assert.equal(path.dirname('////'), '/');
|
||||
|
||||
if (isWindows) {
|
||||
assert.equal(path.dirname('c:\\'), 'c:\\');
|
||||
|
@ -120,8 +114,7 @@ assert.equal(path.extname('..file..'), '.');
|
|||
assert.equal(path.extname('...'), '.');
|
||||
assert.equal(path.extname('...ext'), '.ext');
|
||||
assert.equal(path.extname('....'), '.');
|
||||
assert.equal(path.extname('file.ext/'), '.ext');
|
||||
assert.equal(path.extname('file.ext//'), '.ext');
|
||||
assert.equal(path.extname('file.ext/'), '');
|
||||
|
||||
if (isWindows) {
|
||||
// On windows, backspace is a path separator.
|
||||
|
|
Loading…
Reference in New Issue