Skip to content

Commit e6316e4

Browse files
authored
Merge pull request #269 from codefori/update/code_for_i_events
Update vscode-ibmi event listener and test runner
2 parents 534895b + 97f0425 commit e6316e4

File tree

6 files changed

+37
-30
lines changed

6 files changed

+37
-30
lines changed

package-lock.json

Lines changed: 17 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"typings": "npx -p typescript tsc ./src/extension.ts --declaration --allowJs --emitDeclarationOnly --outDir types --esModuleInterop -t es2019 --moduleResolution node"
4444
},
4545
"devDependencies": {
46-
"@halcyontech/vscode-ibmi-types": "^2.0.0",
46+
"@halcyontech/vscode-ibmi-types": "^2.12.1",
4747
"@types/glob": "^7.1.3",
4848
"@types/node": "14.x",
4949
"@types/vscode": "^1.70.0",
@@ -1233,4 +1233,4 @@
12331233
}
12341234
]
12351235
}
1236-
}
1236+
}

src/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export async function onConnectOrServerInstall(): Promise<boolean> {
6969
export function initConfig(context: ExtensionContext) {
7070
Config = new ConnectionStorage(context);
7171

72-
getInstance().onEvent(`disconnected`, async () => {
72+
getInstance().subscribe(context, `disconnected`, `db2i-disconnect`, async () => {
7373
JobManagerView.setVisible(false);
7474
JobManager.endAll();
7575
updateStatusBar();

src/extension.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { JobManager, onConnectOrServerInstall, initConfig } from "./config";
1111
import { queryHistory } from "./views/queryHistoryView";
1212
import { ExampleBrowser } from "./views/examples/exampleBrowser";
1313
import { languageInit } from "./language";
14-
import { initialise } from "./testing";
14+
import { initialiseTestSuite } from "./testing";
1515
import { JobManagerView } from "./views/jobManager/jobManagerView";
1616
import { ServerComponent } from "./connection/serverComponent";
1717
import { SQLJobManager } from "./connection/manager";
@@ -75,20 +75,26 @@ export function activate(context: vscode.ExtensionContext): Db2i {
7575
initConfig(context);
7676

7777
console.log(`Developer environment: ${process.env.DEV}`);
78-
if (process.env.DEV) {
78+
const devMode = process.env.DEV !== undefined;
79+
let runTests: Function|undefined;
80+
if (devMode) {
7981
// Run tests if not in production build
80-
initialise(context);
82+
runTests = initialiseTestSuite(context);
8183
}
8284

8385
const instance = getInstance();
8486

85-
instance.onEvent(`connected`, () => {
87+
instance.subscribe(context, `connected`, `db2i-connected`, () => {
8688
selfCodesView.setRefreshEnabled(false);
8789
selfCodesView.setJobOnly(false);
8890
// Refresh the examples when we have it, so we only display certain examples
8991
onConnectOrServerInstall().then(() => {
9092
exampleBrowser.refresh();
91-
selfCodesView.setRefreshEnabled(Configuration.get(`jobSelfViewAutoRefresh`) || false)
93+
selfCodesView.setRefreshEnabled(Configuration.get(`jobSelfViewAutoRefresh`) || false);
94+
95+
if (devMode && runTests) {
96+
runTests();
97+
}
9298
});
9399
});
94100

src/testing/index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ export interface TestCase {
2828
test: () => Promise<void>
2929
}
3030

31-
let testSuitesTreeProvider : TestSuitesTreeProvider;
32-
export function initialise(context: vscode.ExtensionContext) {
31+
let testSuitesTreeProvider: TestSuitesTreeProvider;
32+
export function initialiseTestSuite(context: vscode.ExtensionContext) {
3333
if (env.testing === `true`) {
3434
const instance = getInstance();
3535

3636
vscode.commands.executeCommand(`setContext`, `vscode-db2i:testing`, true);
37-
instance.onEvent(`connected`, runTests);
38-
instance.onEvent(`disconnected`, resetTests);
37+
instance.subscribe(context, `disconnected`, `db2i-resetTests`, resetTests);
3938

4039
testSuitesTreeProvider = new TestSuitesTreeProvider(suites);
4140

@@ -55,6 +54,8 @@ export function initialise(context: vscode.ExtensionContext) {
5554
}
5655
})
5756
);
57+
58+
return runTests;
5859
}
5960
}
6061

src/views/schemaBrowser/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ export default class schemaBrowser {
374374
})
375375
)
376376

377-
getInstance().onEvent(`connected`, () => this.clearCacheAndRefresh());
377+
getInstance().subscribe(context, `connected`, `db2i-clearCacheAndRefresh`, () => this.clearCacheAndRefresh());
378378
}
379379

380380
clearCacheAndRefresh() {

0 commit comments

Comments
 (0)