Example #1
0
        public async Task Should_Handle_Null_Workspace_Folders_On_Refresh()
        {
            var workspaceLanguageServer = Substitute.For <IWorkspaceLanguageServer>();
            var languageServer          = Substitute.For <ILanguageServer>();

            languageServer.ClientSettings.Returns(
                new InitializeParams()
            {
                Capabilities = new ClientCapabilities()
                {
                    Workspace = new WorkspaceClientCapabilities()
                    {
                        WorkspaceFolders = true
                    }
                },
                WorkspaceFolders = null
            }
                );
            languageServer.SendRequest(Arg.Any <WorkspaceFolderParams>(), Arg.Any <CancellationToken>()).Returns((Container <WorkspaceFolder>?)null);
            var workspaceFolders = new LanguageServerWorkspaceFolderManager(workspaceLanguageServer);
            var started          = (IOnLanguageServerStarted)workspaceFolders;
            await started.OnStarted(languageServer, CancellationToken);

            var result = await workspaceFolders.Refresh().ToArray();

            result.Should().BeEmpty();
        }
        public async Task Should_Handle_Null_Workspace_Folders()
        {
            var workspaceLanguageServer = Substitute.For <IWorkspaceLanguageServer>();
            var languageServer          = Substitute.For <ILanguageServer>();

            languageServer.ClientSettings.Returns(
                new InitializeParams
            {
                Capabilities = new ClientCapabilities
                {
                    Workspace = new WorkspaceClientCapabilities
                    {
                        WorkspaceFolders = true
                    }
                },
                WorkspaceFolders = null
            }
                );
            var workspaceFolders = new LanguageServerWorkspaceFolderManager(workspaceLanguageServer);

            ((IRegistration <DidChangeWorkspaceFolderRegistrationOptions>)workspaceFolders).GetRegistrationOptions(
                languageServer !.ClientSettings !.Capabilities !
                );
            var started = (IOnLanguageServerStarted)workspaceFolders;
            await started.OnStarted(languageServer, CancellationToken);
        }