Exemple #1
0
 public BatchingWorkQueueTest()
 {
     ErrorReporter = new TestErrorReporter();
     WorkQueue     = new BatchingWorkQueue(TimeSpan.FromMilliseconds(1), StringComparer.Ordinal, ErrorReporter);
     TestAccessor  = WorkQueue.GetTestAccessor();
     TestAccessor.NotifyBackgroundWorkCompleted = new ManualResetEventSlim(initialState: false);
 }
Exemple #2
0
        public void PublishWorkspaceChanged_DoesNotSendWorkspaceRefreshRequest_WhenNotSupported()
        {
            // Arrange
            var clientSettings = GetInitializedParams(semanticRefreshEnabled: false);
            var serverClient   = new TestClient(clientSettings);
            var errorReporter  = new TestErrorReporter();

            using var defaultWorkspaceChangedPublisher = new DefaultWorkspaceSemanticTokensRefreshPublisher(serverClient, errorReporter);
            var testAccessor = defaultWorkspaceChangedPublisher.GetTestAccessor();

            // Act
            defaultWorkspaceChangedPublisher.EnqueueWorkspaceSemanticTokensRefresh();
            testAccessor.WaitForEmpty();

            // Assert
            Assert.Equal(0, serverClient.Requests.Count);
        }
Exemple #3
0
        public void PublishWorkspaceChanged_SendsWorkspaceRefreshRequest_WhenSupported()
        {
            // Arrange
            var clientSettings = GetInitializedParams(semanticRefreshEnabled: true);
            var serverClient   = new TestClient(clientSettings);
            var errorReporter  = new TestErrorReporter();

            using var defaultWorkspaceChangedPublisher = new DefaultWorkspaceSemanticTokensRefreshPublisher(serverClient, errorReporter);
            var testAccessor = defaultWorkspaceChangedPublisher.GetTestAccessor();

            // Act
            defaultWorkspaceChangedPublisher.EnqueueWorkspaceSemanticTokensRefresh();
            testAccessor.WaitForEmpty();

            // Assert
            Assert.Collection(serverClient.Requests,
                              r => Assert.Equal(WorkspaceNames.SemanticTokensRefresh, r.Method));
        }
        public async Task Handle_QueuesRefresh()
        {
            // Arrange
            var clientSettings = GetInitializedParams(semanticRefreshEnabled: true);
            var serverClient   = new TestClient(clientSettings);
            var errorReporter  = new TestErrorReporter();

            using var semanticTokensRefreshPublisher = new DefaultWorkspaceSemanticTokensRefreshPublisher(serverClient, errorReporter);
            var refreshEndpoint = new SemanticTokensRefreshEndpoint(semanticTokensRefreshPublisher);
            var refreshParams   = new SemanticTokensRefreshParams();

            // Act
            await refreshEndpoint.Handle(refreshParams, CancellationToken.None);

            semanticTokensRefreshPublisher.GetTestAccessor().WaitForEmpty();

            // Assert
            Assert.Equal(WorkspaceNames.SemanticTokensRefresh, serverClient.Requests.Single().Method);
        }