33 * Licensed under the MIT License. See License.txt in the project root for license information.
44 *--------------------------------------------------------------------------------------------*/
55import * as assert from 'assert' ;
6- import { dirname , basename , distinctParents , joinPath , isEqual , isEqualOrParent , hasToIgnoreCase , normalizePath , isAbsolutePath , relativePath , removeTrailingPathSeparator , hasTrailingPathSeparator , resolvePath } from 'vs/base/common/resources' ;
6+ import { dirname , basename , distinctParents , joinPath , isEqual , isEqualOrParent , hasToIgnoreCase , normalizePath , isAbsolutePath , relativePath , removeTrailingPathSeparator , hasTrailingPathSeparator , resolvePath , addTrailingPathSeparator } from 'vs/base/common/resources' ;
77import { URI } from 'vs/base/common/uri' ;
88import { isWindows } from 'vs/base/common/platform' ;
99import { toSlashes } from 'vs/base/common/extpath' ;
@@ -178,6 +178,9 @@ suite('Resources', () => {
178178 assertEqualURI ( removeTrailingPathSeparator ( u1 ) , expected , u1 . toString ( ) ) ;
179179 }
180180
181+ function assertAddTrailingSeparator ( u1 : URI , expected : URI ) {
182+ assertEqualURI ( addTrailingPathSeparator ( u1 ) , expected , u1 . toString ( ) ) ;
183+ }
181184
182185 test ( 'trailingPathSeparator' , ( ) => {
183186 assertTrailingSeparator ( URI . parse ( 'foo://a/foo' ) , false ) ;
@@ -190,6 +193,11 @@ suite('Resources', () => {
190193 assertRemoveTrailingSeparator ( URI . parse ( 'foo://a/' ) , URI . parse ( 'foo://a/' ) ) ;
191194 assertRemoveTrailingSeparator ( URI . parse ( 'foo://a' ) , URI . parse ( 'foo://a' ) ) ;
192195
196+ assertAddTrailingSeparator ( URI . parse ( 'foo://a/foo' ) , URI . parse ( 'foo://a/foo/' ) ) ;
197+ assertAddTrailingSeparator ( URI . parse ( 'foo://a/foo/' ) , URI . parse ( 'foo://a/foo/' ) ) ;
198+ assertAddTrailingSeparator ( URI . parse ( 'foo://a/' ) , URI . parse ( 'foo://a/' ) ) ;
199+ assertAddTrailingSeparator ( URI . parse ( 'foo://a' ) , URI . parse ( 'foo://a/' ) ) ;
200+
193201 if ( isWindows ) {
194202 assertTrailingSeparator ( URI . file ( 'c:\\a\\foo' ) , false ) ;
195203 assertTrailingSeparator ( URI . file ( 'c:\\a\\foo\\' ) , true ) ;
@@ -202,6 +210,12 @@ suite('Resources', () => {
202210 assertRemoveTrailingSeparator ( URI . file ( 'c:\\' ) , URI . file ( 'c:\\' ) ) ;
203211 assertRemoveTrailingSeparator ( URI . file ( '\\\\server\\share\\some\\' ) , URI . file ( '\\\\server\\share\\some' ) ) ;
204212 assertRemoveTrailingSeparator ( URI . file ( '\\\\server\\share\\' ) , URI . file ( '\\\\server\\share\\' ) ) ;
213+
214+ assertAddTrailingSeparator ( URI . file ( 'c:\\a\\foo' ) , URI . file ( 'c:\\a\\foo\\' ) ) ;
215+ assertAddTrailingSeparator ( URI . file ( 'c:\\a\\foo\\' ) , URI . file ( 'c:\\a\\foo\\' ) ) ;
216+ assertAddTrailingSeparator ( URI . file ( 'c:\\' ) , URI . file ( 'c:\\' ) ) ;
217+ assertAddTrailingSeparator ( URI . file ( '\\\\server\\share\\some' ) , URI . file ( '\\\\server\\share\\some\\' ) ) ;
218+ assertAddTrailingSeparator ( URI . file ( '\\\\server\\share\\some\\' ) , URI . file ( '\\\\server\\share\\some\\' ) ) ;
205219 } else {
206220 assertTrailingSeparator ( URI . file ( '/foo/bar' ) , false ) ;
207221 assertTrailingSeparator ( URI . file ( '/foo/bar/' ) , true ) ;
@@ -210,12 +224,16 @@ suite('Resources', () => {
210224 assertRemoveTrailingSeparator ( URI . file ( '/foo/bar' ) , URI . file ( '/foo/bar' ) ) ;
211225 assertRemoveTrailingSeparator ( URI . file ( '/foo/bar/' ) , URI . file ( '/foo/bar' ) ) ;
212226 assertRemoveTrailingSeparator ( URI . file ( '/' ) , URI . file ( '/' ) ) ;
227+
228+ assertAddTrailingSeparator ( URI . file ( '/foo/bar' ) , URI . file ( '/foo/bar/' ) ) ;
229+ assertAddTrailingSeparator ( URI . file ( '/foo/bar/' ) , URI . file ( '/foo/bar/' ) ) ;
230+ assertAddTrailingSeparator ( URI . file ( '/' ) , URI . file ( '/' ) ) ;
213231 }
214232 } ) ;
215233
216234 function assertEqualURI ( actual : URI , expected : URI , message ?: string ) {
217235 if ( ! isEqual ( expected , actual ) ) {
218- assert . equal ( expected . toString ( ) , actual . toString ( ) , message ) ;
236+ assert . equal ( actual . toString ( ) , expected . toString ( ) , message ) ;
219237 }
220238 }
221239
0 commit comments