11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_cirequire('../common'); 31cb0ef41Sopenharmony_ciconst assert = require('assert'); 41cb0ef41Sopenharmony_ciconst path = require('path'); 51cb0ef41Sopenharmony_ci 61cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('./fixtures///b/../b/c.js'), 71cb0ef41Sopenharmony_ci 'fixtures\\b\\c.js'); 81cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('/foo/../../../bar'), '\\bar'); 91cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('a//b//../b'), 'a\\b'); 101cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('a//b//./c'), 'a\\b\\c'); 111cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('a//b//.'), 'a\\b'); 121cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('//server/share/dir/file.ext'), 131cb0ef41Sopenharmony_ci '\\\\server\\share\\dir\\file.ext'); 141cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('/a/b/c/../../../x/y/z'), '\\x\\y\\z'); 151cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('C:'), 'C:.'); 161cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('C:..\\abc'), 'C:..\\abc'); 171cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('C:..\\..\\abc\\..\\def'), 181cb0ef41Sopenharmony_ci 'C:..\\..\\def'); 191cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('C:\\.'), 'C:\\'); 201cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('file:stream'), 'file:stream'); 211cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('bar\\foo..\\..\\'), 'bar\\'); 221cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('bar\\foo..\\..'), 'bar'); 231cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('bar\\foo..\\..\\baz'), 'bar\\baz'); 241cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('bar\\foo..\\'), 'bar\\foo..\\'); 251cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('bar\\foo..'), 'bar\\foo..'); 261cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('..\\foo..\\..\\..\\bar'), 271cb0ef41Sopenharmony_ci '..\\..\\bar'); 281cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('..\\...\\..\\.\\...\\..\\..\\bar'), 291cb0ef41Sopenharmony_ci '..\\..\\bar'); 301cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('../../../foo/../../../bar'), 311cb0ef41Sopenharmony_ci '..\\..\\..\\..\\..\\bar'); 321cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('../../../foo/../../../bar/../../'), 331cb0ef41Sopenharmony_ci '..\\..\\..\\..\\..\\..\\'); 341cb0ef41Sopenharmony_ciassert.strictEqual( 351cb0ef41Sopenharmony_ci path.win32.normalize('../foobar/barfoo/foo/../../../bar/../../'), 361cb0ef41Sopenharmony_ci '..\\..\\' 371cb0ef41Sopenharmony_ci); 381cb0ef41Sopenharmony_ciassert.strictEqual( 391cb0ef41Sopenharmony_ci path.win32.normalize('../.../../foobar/../../../bar/../../baz'), 401cb0ef41Sopenharmony_ci '..\\..\\..\\..\\baz' 411cb0ef41Sopenharmony_ci); 421cb0ef41Sopenharmony_ciassert.strictEqual(path.win32.normalize('foo/bar\\baz'), 'foo\\bar\\baz'); 431cb0ef41Sopenharmony_ci 441cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('./fixtures///b/../b/c.js'), 451cb0ef41Sopenharmony_ci 'fixtures/b/c.js'); 461cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('/foo/../../../bar'), '/bar'); 471cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('a//b//../b'), 'a/b'); 481cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('a//b//./c'), 'a/b/c'); 491cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('a//b//.'), 'a/b'); 501cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('/a/b/c/../../../x/y/z'), '/x/y/z'); 511cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('///..//./foo/.//bar'), '/foo/bar'); 521cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('bar/foo../../'), 'bar/'); 531cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('bar/foo../..'), 'bar'); 541cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('bar/foo../../baz'), 'bar/baz'); 551cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('bar/foo../'), 'bar/foo../'); 561cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('bar/foo..'), 'bar/foo..'); 571cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('../foo../../../bar'), '../../bar'); 581cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('../.../.././.../../../bar'), 591cb0ef41Sopenharmony_ci '../../bar'); 601cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('../../../foo/../../../bar'), 611cb0ef41Sopenharmony_ci '../../../../../bar'); 621cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('../../../foo/../../../bar/../../'), 631cb0ef41Sopenharmony_ci '../../../../../../'); 641cb0ef41Sopenharmony_ciassert.strictEqual( 651cb0ef41Sopenharmony_ci path.posix.normalize('../foobar/barfoo/foo/../../../bar/../../'), 661cb0ef41Sopenharmony_ci '../../' 671cb0ef41Sopenharmony_ci); 681cb0ef41Sopenharmony_ciassert.strictEqual( 691cb0ef41Sopenharmony_ci path.posix.normalize('../.../../foobar/../../../bar/../../baz'), 701cb0ef41Sopenharmony_ci '../../../../baz' 711cb0ef41Sopenharmony_ci); 721cb0ef41Sopenharmony_ciassert.strictEqual(path.posix.normalize('foo/bar\\baz'), 'foo/bar\\baz'); 73