@@ -5,93 +5,85 @@ import * as assert from "assert";
5
5
import utils = require( "../utils" ) ;
6
6
import { IExternalPowerShellDetails , IPowerShellExtensionClient } from "../../src/features/ExternalApi" ;
7
7
8
- describe ( "ExternalApi feature - Registration API" , function ( ) {
9
- let powerShellExtensionClient : IPowerShellExtensionClient ;
10
- before ( async function ( ) {
11
- const powershellExtension = await utils . ensureExtensionIsActivated ( ) ;
12
- powerShellExtensionClient = powershellExtension ! . exports as IPowerShellExtensionClient ;
13
- } ) ;
8
+ describe ( "ExternalApi feature" , function ( ) {
9
+ describe ( "External extension registration" , function ( ) {
10
+ let powerShellExtensionClient : IPowerShellExtensionClient ;
11
+ before ( async function ( ) {
12
+ const powershellExtension = await utils . ensureExtensionIsActivated ( ) ;
13
+ powerShellExtensionClient = powershellExtension ! . exports as IPowerShellExtensionClient ;
14
+ } ) ;
14
15
15
- it ( "It can register and unregister an extension" , function ( ) {
16
- const sessionId : string = powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ;
17
- assert . notStrictEqual ( sessionId , "" ) ;
18
- assert . notStrictEqual ( sessionId , null ) ;
19
- assert . strictEqual (
20
- powerShellExtensionClient . unregisterExternalExtension ( sessionId ) ,
21
- true ) ;
22
- } ) ;
16
+ it ( "Registers and unregisters an extension" , function ( ) {
17
+ const sessionId : string = powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ;
18
+ assert . notStrictEqual ( sessionId , "" ) ;
19
+ assert . notStrictEqual ( sessionId , null ) ;
20
+ assert . strictEqual (
21
+ powerShellExtensionClient . unregisterExternalExtension ( sessionId ) ,
22
+ true ) ;
23
+ } ) ;
23
24
24
- it ( "It can register and unregister an extension with a version" , function ( ) {
25
- const sessionId : string = powerShellExtensionClient . registerExternalExtension ( utils . extensionId , "v2" ) ;
26
- assert . notStrictEqual ( sessionId , "" ) ;
27
- assert . notStrictEqual ( sessionId , null ) ;
28
- assert . strictEqual (
29
- powerShellExtensionClient . unregisterExternalExtension ( sessionId ) ,
30
- true ) ;
31
- } ) ;
25
+ it ( "Registers and unregisters an extension with a version" , function ( ) {
26
+ const sessionId : string = powerShellExtensionClient . registerExternalExtension ( utils . extensionId , "v2" ) ;
27
+ assert . notStrictEqual ( sessionId , "" ) ;
28
+ assert . notStrictEqual ( sessionId , null ) ;
29
+ assert . strictEqual (
30
+ powerShellExtensionClient . unregisterExternalExtension ( sessionId ) ,
31
+ true ) ;
32
+ } ) ;
32
33
33
- /*
34
- NEGATIVE TESTS
35
- */
36
- it ( "API fails if not registered" , async function ( ) {
37
- assert . rejects (
38
- async ( ) => await powerShellExtensionClient . getPowerShellVersionDetails ( "" ) )
39
- } ) ;
34
+ it ( "Rejects if not registered" , async function ( ) {
35
+ assert . rejects (
36
+ async ( ) => await powerShellExtensionClient . getPowerShellVersionDetails ( "" ) )
37
+ } ) ;
38
+
39
+ it ( "Throws if attempting to register an extension more than once" , async function ( ) {
40
+ const sessionId : string = powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ;
41
+ try {
42
+ assert . throws (
43
+ ( ) => powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ,
44
+ {
45
+ message : `The extension '${ utils . extensionId } ' is already registered.`
46
+ } ) ;
47
+ } finally {
48
+ powerShellExtensionClient . unregisterExternalExtension ( sessionId ) ;
49
+ }
50
+ } ) ;
40
51
41
- it ( "It can't register the same extension twice" , async function ( ) {
42
- const sessionId : string = powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ;
43
- try {
52
+ it ( "Throws when unregistering an extension that isn't registered" , async function ( ) {
44
53
assert . throws (
45
- ( ) => powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ,
54
+ ( ) => powerShellExtensionClient . unregisterExternalExtension ( "not-real" ) ,
46
55
{
47
- message : `The extension ' ${ utils . extensionId } ' is already registered. `
56
+ message : `No extension registered with session UUID: not-real `
48
57
} ) ;
49
- } finally {
50
- powerShellExtensionClient . unregisterExternalExtension ( sessionId ) ;
51
- }
52
- } ) ;
53
-
54
- it ( "It can't unregister an extension that isn't registered" , async function ( ) {
55
- assert . throws (
56
- ( ) => powerShellExtensionClient . unregisterExternalExtension ( "not-real" ) ,
57
- {
58
- message : `No extension registered with session UUID: not-real`
59
- } ) ;
60
58
} ) ;
61
- } ) ;
62
-
63
- describe ( "ExternalApi feature - Other APIs" , ( ) => {
64
- let sessionId : string ;
65
- let powerShellExtensionClient : IPowerShellExtensionClient ;
66
-
67
- before ( async function ( ) {
68
- const powershellExtension = await utils . ensureExtensionIsActivated ( ) ;
69
- powerShellExtensionClient = powershellExtension ! . exports as IPowerShellExtensionClient ;
70
59
} ) ;
71
60
72
- beforeEach ( function ( ) {
73
- sessionId = powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ;
74
- } ) ;
61
+ describe ( "PowerShell version details" , ( ) => {
62
+ let sessionId : string ;
63
+ let powerShellExtensionClient : IPowerShellExtensionClient ;
75
64
76
- afterEach ( function ( ) {
77
- powerShellExtensionClient . unregisterExternalExtension ( sessionId ) ;
78
- } ) ;
65
+ before ( async function ( ) {
66
+ const powershellExtension = await utils . ensureExtensionIsActivated ( ) ;
67
+ powerShellExtensionClient = powershellExtension ! . exports as IPowerShellExtensionClient ;
68
+ sessionId = powerShellExtensionClient . registerExternalExtension ( utils . extensionId ) ;
69
+ } ) ;
79
70
80
- it ( "It can get PowerShell version details" , async function ( ) {
81
- const versionDetails : IExternalPowerShellDetails = await powerShellExtensionClient . getPowerShellVersionDetails ( sessionId ) ;
71
+ after ( function ( ) { powerShellExtensionClient . unregisterExternalExtension ( sessionId ) ; } ) ;
82
72
83
- assert . notStrictEqual ( versionDetails . architecture , "" ) ;
84
- assert . notStrictEqual ( versionDetails . architecture , null ) ;
73
+ it ( "Gets non-empty version details from the PowerShell Editor Services" , async function ( ) {
74
+ const versionDetails : IExternalPowerShellDetails = await powerShellExtensionClient . getPowerShellVersionDetails ( sessionId ) ;
85
75
86
- assert . notStrictEqual ( versionDetails . displayName , "" ) ;
87
- assert . notStrictEqual ( versionDetails . displayName , null ) ;
76
+ assert . notStrictEqual ( versionDetails . architecture , "" ) ;
77
+ assert . notStrictEqual ( versionDetails . architecture , null ) ;
88
78
89
- assert . notStrictEqual ( versionDetails . exePath , "" ) ;
90
- assert . notStrictEqual ( versionDetails . exePath , null ) ;
79
+ assert . notStrictEqual ( versionDetails . displayName , "" ) ;
80
+ assert . notStrictEqual ( versionDetails . displayName , null ) ;
91
81
92
- assert . notStrictEqual ( versionDetails . version , "" ) ;
93
- assert . notStrictEqual ( versionDetails . version , null ) ;
82
+ assert . notStrictEqual ( versionDetails . exePath , "" ) ;
83
+ assert . notStrictEqual ( versionDetails . exePath , null ) ;
94
84
95
- // Start up can take some time...so set the timeout to 30 seconds.
85
+ assert . notStrictEqual ( versionDetails . version , "" ) ;
86
+ assert . notStrictEqual ( versionDetails . version , null ) ;
87
+ } ) ;
96
88
} ) ;
97
89
} ) ;
0 commit comments