@@ -24,7 +24,7 @@ import { sleep } from '../../core';
2424
2525// tslint:disable:no-unnecessary-override no-any chai-vague-errors no-unused-expression max-func-body-length
2626
27- suite ( 'Language Server - Analysis Options' , ( ) => {
27+ suite ( 'xLanguage Server - Analysis Options' , ( ) => {
2828 class TestClass extends LanguageServerAnalysisOptions {
2929 public getExcludedFiles ( ) : string [ ] {
3030 return super . getExcludedFiles ( ) ;
@@ -95,29 +95,31 @@ suite('Language Server - Analysis Options', () => {
9595 disposable2 . verifyAll ( ) ;
9696 disposable3 . verifyAll ( ) ;
9797 } ) ;
98- // test('Changes to settings or interpreter will be debounced', async () => {
99- // const disposable1 = typemoq.Mock.ofType<IDisposable>();
100- // const disposable2 = typemoq.Mock.ofType<IDisposable>();
101- // let configChangedHandler!: Function;
102- // let interpreterChangedHandler!: Function;
103- // when(workspace.onDidChangeConfiguration).thenReturn(cb => { configChangedHandler = cb; return disposable1.object; });
104- // when(interpreterService.onDidChangeInterpreter).thenReturn(cb => { interpreterChangedHandler = cb; return disposable2.object; });
105- // let settingsChangedInvokedCount = 0;
106- // analysisOptions.onDidChange(() => settingsChangedInvokedCount += 1);
107-
108- // await analysisOptions.initialize(undefined);
109- // expect(configChangedHandler).to.not.be.undefined;
110- // expect(interpreterChangedHandler).to.not.be.undefined;
111-
112- // for (let i = 0; i < 100; i += 1) {
113- // configChangedHandler.call(analysisOptions);
114- // }
115- // expect(settingsChangedInvokedCount).to.be.equal(0);
116-
117- // await sleep(10);
118-
119- // expect(settingsChangedInvokedCount).to.be.equal(1);
120- // });
98+ test ( 'Changes to settings or interpreter will be debounced' , async ( ) => {
99+ const disposable1 = typemoq . Mock . ofType < IDisposable > ( ) ;
100+ const disposable2 = typemoq . Mock . ofType < IDisposable > ( ) ;
101+ const disposable3 = typemoq . Mock . ofType < IDisposable > ( ) ;
102+ let configChangedHandler ! : Function ;
103+ let interpreterChangedHandler ! : Function ;
104+ when ( workspace . onDidChangeConfiguration ) . thenReturn ( cb => { configChangedHandler = cb ; return disposable1 . object ; } ) ;
105+ when ( interpreterService . onDidChangeInterpreter ) . thenReturn ( cb => { interpreterChangedHandler = cb ; return disposable2 . object ; } ) ;
106+ when ( envVarsProvider . onDidEnvironmentVariablesChange ) . thenReturn ( ( ) => disposable3 . object ) ;
107+ let settingsChangedInvokedCount = 0 ;
108+ analysisOptions . onDidChange ( ( ) => settingsChangedInvokedCount += 1 ) ;
109+
110+ await analysisOptions . initialize ( undefined ) ;
111+ expect ( configChangedHandler ) . to . not . be . undefined ;
112+ expect ( interpreterChangedHandler ) . to . not . be . undefined ;
113+
114+ for ( let i = 0 ; i < 100 ; i += 1 ) {
115+ configChangedHandler . call ( analysisOptions ) ;
116+ }
117+ expect ( settingsChangedInvokedCount ) . to . be . equal ( 0 ) ;
118+
119+ await sleep ( 10 ) ;
120+
121+ expect ( settingsChangedInvokedCount ) . to . be . equal ( 1 ) ;
122+ } ) ;
121123 test ( 'If there are no changes then no events will be fired' , async ( ) => {
122124 analysisOptions . getExcludedFiles = ( ) => [ ] ;
123125 analysisOptions . getTypeshedPaths = ( ) => [ ] ;
@@ -154,17 +156,15 @@ suite('Language Server - Analysis Options', () => {
154156
155157 expect ( eventFired ) . to . be . equal ( true ) ;
156158 } ) ;
157- // test('Event must be fired if interpreter info is different', async () => {
158- // // fire onDidChangeInterpreter
159-
160- // let eventFired = false;
161- // analysisOptions.onDidChange(() => eventFired = true);
159+ test ( 'Event must be fired if interpreter info is different' , async ( ) => {
160+ let eventFired = false ;
161+ analysisOptions . onDidChange ( ( ) => eventFired = true ) ;
162162
163- // analysisOptions.onSettingsChanged();
164- // await sleep(10);
163+ analysisOptions . onSettingsChanged ( ) ;
164+ await sleep ( 10 ) ;
165165
166- // expect(eventFired).to.be.equal(true);
167- // });
166+ expect ( eventFired ) . to . be . equal ( true ) ;
167+ } ) ;
168168 test ( 'Changes to settings will be filtered to current resource' , async ( ) => {
169169 const uri = Uri . file ( __filename ) ;
170170 const disposable1 = typemoq . Mock . ofType < IDisposable > ( ) ;
0 commit comments