Loading src/common/code_suggestions/code_suggestions_state_manager.test.ts +14 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,20 @@ describe('Code suggestions state manager', () => { }); }); describe('Loading state', () => { it('handles parallel operations', () => { stateManager.setLoading(true); stateManager.setLoading(true); stateManager.setLoading(false); expect(stateManager.getVisibleState()).toBe(VisibleCodeSuggestionsState.LOADING); stateManager.setLoading(false); expect(stateManager.getVisibleState()).toBe(VisibleCodeSuggestionsState.READY); }); }); describe('isDisabledByUser', () => { let disabledByUserListener: jest.Func; Loading src/common/code_suggestions/code_suggestions_state_manager.ts +6 −2 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ export class CodeSuggestionsStateManager { // boolean flags indicating temporary states #isInErrorState = false; #isLoading = false; #isLoading = 0; // ////////// #subscriptions: vscode.Disposable[] = []; Loading Loading @@ -121,7 +121,11 @@ export class CodeSuggestionsStateManager { }); setLoading = this.#updateStateWrapper(isLoading => { this.#isLoading = isLoading; if (isLoading) { this.#isLoading += 1; } else { this.#isLoading -= 1; } }); setTemporaryDisabled = this.#updateStateWrapper(isDisabled => { Loading Loading
src/common/code_suggestions/code_suggestions_state_manager.test.ts +14 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,20 @@ describe('Code suggestions state manager', () => { }); }); describe('Loading state', () => { it('handles parallel operations', () => { stateManager.setLoading(true); stateManager.setLoading(true); stateManager.setLoading(false); expect(stateManager.getVisibleState()).toBe(VisibleCodeSuggestionsState.LOADING); stateManager.setLoading(false); expect(stateManager.getVisibleState()).toBe(VisibleCodeSuggestionsState.READY); }); }); describe('isDisabledByUser', () => { let disabledByUserListener: jest.Func; Loading
src/common/code_suggestions/code_suggestions_state_manager.ts +6 −2 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ export class CodeSuggestionsStateManager { // boolean flags indicating temporary states #isInErrorState = false; #isLoading = false; #isLoading = 0; // ////////// #subscriptions: vscode.Disposable[] = []; Loading Loading @@ -121,7 +121,11 @@ export class CodeSuggestionsStateManager { }); setLoading = this.#updateStateWrapper(isLoading => { this.#isLoading = isLoading; if (isLoading) { this.#isLoading += 1; } else { this.#isLoading -= 1; } }); setTemporaryDisabled = this.#updateStateWrapper(isDisabled => { Loading