2
2
// Licensed under the MIT License.
3
3
4
4
import * as assert from "assert" ;
5
- import * as vscode from "vscode" ;
6
5
import { before , beforeEach , afterEach } from "mocha" ;
6
+ import utils = require( "../utils" ) ;
7
7
import { IExternalPowerShellDetails , IPowerShellExtensionClient } from "../../src/features/ExternalApi" ;
8
8
9
- // tslint:disable-next-line: no-var-requires
10
- const PackageJSON : any = require ( "../../../package.json" ) ;
11
- const testExtensionId = `${ PackageJSON . publisher } .${ PackageJSON . name } ` ;
12
-
13
9
suite ( "ExternalApi feature - Registration API" , ( ) => {
14
10
let powerShellExtensionClient : IPowerShellExtensionClient ;
15
11
before ( async ( ) => {
16
- const powershellExtension = vscode . extensions . getExtension < IPowerShellExtensionClient > ( testExtensionId ) ;
17
- if ( ! powershellExtension . isActive ) {
18
- powerShellExtensionClient = await powershellExtension . activate ( ) ;
19
- return ;
20
- }
12
+ const powershellExtension = await utils . ensureExtensionIsActivated ( ) ;
21
13
powerShellExtensionClient = powershellExtension ! . exports as IPowerShellExtensionClient ;
22
14
} ) ;
23
15
24
16
test ( "It can register and unregister an extension" , ( ) => {
25
- const sessionId : string = powerShellExtensionClient . registerExternalExtension ( testExtensionId ) ;
17
+ const sessionId : string = powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ;
26
18
assert . notStrictEqual ( sessionId , "" ) ;
27
19
assert . notStrictEqual ( sessionId , null ) ;
28
20
assert . strictEqual (
@@ -31,7 +23,7 @@ suite("ExternalApi feature - Registration API", () => {
31
23
} ) ;
32
24
33
25
test ( "It can register and unregister an extension with a version" , ( ) => {
34
- const sessionId : string = powerShellExtensionClient . registerExternalExtension ( testExtensionId , "v2" ) ;
26
+ const sessionId : string = powerShellExtensionClient . registerExternalExtension ( utils . extensionId , "v2" ) ;
35
27
assert . notStrictEqual ( sessionId , "" ) ;
36
28
assert . notStrictEqual ( sessionId , null ) ;
37
29
assert . strictEqual (
@@ -48,12 +40,12 @@ suite("ExternalApi feature - Registration API", () => {
48
40
} ) ;
49
41
50
42
test ( "It can't register the same extension twice" , async ( ) => {
51
- const sessionId : string = powerShellExtensionClient . registerExternalExtension ( testExtensionId ) ;
43
+ const sessionId : string = powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ;
52
44
try {
53
45
assert . throws (
54
- ( ) => powerShellExtensionClient . registerExternalExtension ( testExtensionId ) ,
46
+ ( ) => powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ,
55
47
{
56
- message : `The extension '${ testExtensionId } ' is already registered.`
48
+ message : `The extension '${ utils . extensionId } ' is already registered.`
57
49
} ) ;
58
50
} finally {
59
51
powerShellExtensionClient . unregisterExternalExtension ( sessionId ) ;
@@ -74,16 +66,12 @@ suite("ExternalApi feature - Other APIs", () => {
74
66
let powerShellExtensionClient : IPowerShellExtensionClient ;
75
67
76
68
before ( async ( ) => {
77
- const powershellExtension = vscode . extensions . getExtension < IPowerShellExtensionClient > ( testExtensionId ) ;
78
- if ( ! powershellExtension . isActive ) {
79
- powerShellExtensionClient = await powershellExtension . activate ( ) ;
80
- return ;
81
- }
69
+ const powershellExtension = await utils . ensureExtensionIsActivated ( ) ;
82
70
powerShellExtensionClient = powershellExtension ! . exports as IPowerShellExtensionClient ;
83
71
} ) ;
84
72
85
73
beforeEach ( ( ) => {
86
- sessionId = powerShellExtensionClient . registerExternalExtension ( testExtensionId ) ;
74
+ sessionId = powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ;
87
75
} ) ;
88
76
89
77
afterEach ( ( ) => {
0 commit comments