@@ -140,6 +140,7 @@ suite("LanguageClientManager Suite", () => {
140140 ) ,
141141 swiftVersion : new Version ( 6 , 0 , 0 ) ,
142142 toolchain : instance ( mockedToolchain ) ,
143+ logger : instance ( mockLogger ) ,
143144 } ) ;
144145 mockedWorkspace = mockObject < WorkspaceContext > ( {
145146 globalToolchain : instance ( mockedToolchain ) ,
@@ -251,6 +252,8 @@ suite("LanguageClientManager Suite", () => {
251252 } ,
252253 workspaceContext : instance ( mockedWorkspace ) ,
253254 swiftVersion : mockedFolder . swiftVersion ,
255+ toolchain : instance ( mockedToolchain ) ,
256+ logger : instance ( mockLogger ) ,
254257 } ) ;
255258 mockedWorkspace . folders . push ( instance ( newFolder ) ) ;
256259 const factory = new LanguageClientToolchainCoordinator (
@@ -267,6 +270,14 @@ suite("LanguageClientManager Suite", () => {
267270 } ) ;
268271
269272 test ( "returns the a new language client for folders with different toolchains" , async ( ) => {
273+ const differentToolchain = mockObject < SwiftToolchain > ( {
274+ swiftVersion : new Version ( 6 , 1 , 0 ) ,
275+ buildFlags : mockedBuildFlags as unknown as BuildFlags ,
276+ getToolchainExecutable : mockFn ( s =>
277+ s . withArgs ( "sourcekit-lsp" ) . returns ( "/path/to/toolchain/bin/sourcekit-lsp" )
278+ ) ,
279+ } ) ;
280+
270281 const newFolder = mockObject < FolderContext > ( {
271282 isRootFolder : false ,
272283 folder : vscode . Uri . file ( "/folder11" ) ,
@@ -277,6 +288,8 @@ suite("LanguageClientManager Suite", () => {
277288 } ,
278289 workspaceContext : instance ( mockedWorkspace ) ,
279290 swiftVersion : new Version ( 6 , 1 , 0 ) ,
291+ toolchain : instance ( differentToolchain ) ,
292+ logger : instance ( mockLogger ) ,
280293 } ) ;
281294 mockedWorkspace . folders . push ( instance ( newFolder ) ) ;
282295 const factory = new LanguageClientToolchainCoordinator (
@@ -289,7 +302,7 @@ suite("LanguageClientManager Suite", () => {
289302 const sut2 = factory . get ( instance ( newFolder ) ) ;
290303
291304 expect ( sut1 ) . to . not . equal ( sut2 , "Expected different LanguageClients to be returned" ) ;
292- expect ( languageClientFactoryMock . createLanguageClient ) . to . have . been . calledOnce ;
305+ expect ( languageClientFactoryMock . createLanguageClient ) . to . have . been . calledTwice ;
293306 } ) ;
294307 } ) ;
295308
@@ -411,6 +424,8 @@ suite("LanguageClientManager Suite", () => {
411424 } ,
412425 workspaceContext : instance ( mockedWorkspace ) ,
413426 swiftVersion : new Version ( 6 , 0 , 0 ) ,
427+ toolchain : instance ( mockedToolchain ) ,
428+ logger : instance ( mockLogger ) ,
414429 } ) ;
415430 const folder2 = mockObject < FolderContext > ( {
416431 isRootFolder : false ,
@@ -422,6 +437,8 @@ suite("LanguageClientManager Suite", () => {
422437 } ,
423438 workspaceContext : instance ( mockedWorkspace ) ,
424439 swiftVersion : new Version ( 6 , 0 , 0 ) ,
440+ toolchain : instance ( mockedToolchain ) ,
441+ logger : instance ( mockLogger ) ,
425442 } ) ;
426443
427444 new LanguageClientToolchainCoordinator (
@@ -893,6 +910,7 @@ suite("LanguageClientManager Suite", () => {
893910 workspaceContext : instance ( mockedWorkspace ) ,
894911 workspaceFolder,
895912 toolchain : instance ( mockedToolchain ) ,
913+ logger : instance ( mockLogger ) ,
896914 } ) ;
897915 mockedFolder . swiftVersion = mockedToolchain . swiftVersion ;
898916 mockedWorkspace = mockObject < WorkspaceContext > ( {
@@ -911,6 +929,7 @@ suite("LanguageClientManager Suite", () => {
911929 workspaceContext : instance ( mockedWorkspace ) ,
912930 toolchain : instance ( mockedToolchain ) ,
913931 swiftVersion : mockedToolchain . swiftVersion ,
932+ logger : instance ( mockLogger ) ,
914933 } ) ;
915934 folder2 = mockObject < FolderContext > ( {
916935 isRootFolder : false ,
@@ -923,6 +942,7 @@ suite("LanguageClientManager Suite", () => {
923942 workspaceContext : instance ( mockedWorkspace ) ,
924943 toolchain : instance ( mockedToolchain ) ,
925944 swiftVersion : mockedToolchain . swiftVersion ,
945+ logger : instance ( mockLogger ) ,
926946 } ) ;
927947 } ) ;
928948
0 commit comments