1'use strict'; 2require('../common'); 3const assert = require('assert'); 4const path = require('path'); 5 6assert.strictEqual(path.win32.normalize('./fixtures///b/../b/c.js'), 7 'fixtures\\b\\c.js'); 8assert.strictEqual(path.win32.normalize('/foo/../../../bar'), '\\bar'); 9assert.strictEqual(path.win32.normalize('a//b//../b'), 'a\\b'); 10assert.strictEqual(path.win32.normalize('a//b//./c'), 'a\\b\\c'); 11assert.strictEqual(path.win32.normalize('a//b//.'), 'a\\b'); 12assert.strictEqual(path.win32.normalize('//server/share/dir/file.ext'), 13 '\\\\server\\share\\dir\\file.ext'); 14assert.strictEqual(path.win32.normalize('/a/b/c/../../../x/y/z'), '\\x\\y\\z'); 15assert.strictEqual(path.win32.normalize('C:'), 'C:.'); 16assert.strictEqual(path.win32.normalize('C:..\\abc'), 'C:..\\abc'); 17assert.strictEqual(path.win32.normalize('C:..\\..\\abc\\..\\def'), 18 'C:..\\..\\def'); 19assert.strictEqual(path.win32.normalize('C:\\.'), 'C:\\'); 20assert.strictEqual(path.win32.normalize('file:stream'), 'file:stream'); 21assert.strictEqual(path.win32.normalize('bar\\foo..\\..\\'), 'bar\\'); 22assert.strictEqual(path.win32.normalize('bar\\foo..\\..'), 'bar'); 23assert.strictEqual(path.win32.normalize('bar\\foo..\\..\\baz'), 'bar\\baz'); 24assert.strictEqual(path.win32.normalize('bar\\foo..\\'), 'bar\\foo..\\'); 25assert.strictEqual(path.win32.normalize('bar\\foo..'), 'bar\\foo..'); 26assert.strictEqual(path.win32.normalize('..\\foo..\\..\\..\\bar'), 27 '..\\..\\bar'); 28assert.strictEqual(path.win32.normalize('..\\...\\..\\.\\...\\..\\..\\bar'), 29 '..\\..\\bar'); 30assert.strictEqual(path.win32.normalize('../../../foo/../../../bar'), 31 '..\\..\\..\\..\\..\\bar'); 32assert.strictEqual(path.win32.normalize('../../../foo/../../../bar/../../'), 33 '..\\..\\..\\..\\..\\..\\'); 34assert.strictEqual( 35 path.win32.normalize('../foobar/barfoo/foo/../../../bar/../../'), 36 '..\\..\\' 37); 38assert.strictEqual( 39 path.win32.normalize('../.../../foobar/../../../bar/../../baz'), 40 '..\\..\\..\\..\\baz' 41); 42assert.strictEqual(path.win32.normalize('foo/bar\\baz'), 'foo\\bar\\baz'); 43 44assert.strictEqual(path.posix.normalize('./fixtures///b/../b/c.js'), 45 'fixtures/b/c.js'); 46assert.strictEqual(path.posix.normalize('/foo/../../../bar'), '/bar'); 47assert.strictEqual(path.posix.normalize('a//b//../b'), 'a/b'); 48assert.strictEqual(path.posix.normalize('a//b//./c'), 'a/b/c'); 49assert.strictEqual(path.posix.normalize('a//b//.'), 'a/b'); 50assert.strictEqual(path.posix.normalize('/a/b/c/../../../x/y/z'), '/x/y/z'); 51assert.strictEqual(path.posix.normalize('///..//./foo/.//bar'), '/foo/bar'); 52assert.strictEqual(path.posix.normalize('bar/foo../../'), 'bar/'); 53assert.strictEqual(path.posix.normalize('bar/foo../..'), 'bar'); 54assert.strictEqual(path.posix.normalize('bar/foo../../baz'), 'bar/baz'); 55assert.strictEqual(path.posix.normalize('bar/foo../'), 'bar/foo../'); 56assert.strictEqual(path.posix.normalize('bar/foo..'), 'bar/foo..'); 57assert.strictEqual(path.posix.normalize('../foo../../../bar'), '../../bar'); 58assert.strictEqual(path.posix.normalize('../.../.././.../../../bar'), 59 '../../bar'); 60assert.strictEqual(path.posix.normalize('../../../foo/../../../bar'), 61 '../../../../../bar'); 62assert.strictEqual(path.posix.normalize('../../../foo/../../../bar/../../'), 63 '../../../../../../'); 64assert.strictEqual( 65 path.posix.normalize('../foobar/barfoo/foo/../../../bar/../../'), 66 '../../' 67); 68assert.strictEqual( 69 path.posix.normalize('../.../../foobar/../../../bar/../../baz'), 70 '../../../../baz' 71); 72assert.strictEqual(path.posix.normalize('foo/bar\\baz'), 'foo/bar\\baz'); 73