@@ -8,78 +8,99 @@ import { ContainerNode, FileNode, FolderNode, INodeData, NodeKind, PackageNode,
8
8
9
9
// tslint:disable: only-arrow-functions
10
10
// tslint:disable: no-object-literal-type-assertion
11
+
12
+ /**
13
+ * This suite is to test the context value of different nodes in the explorer,
14
+ * Users can register their commands to the nodes by writing RegExp to match the metadata.
15
+ * More details, please see: https://github.com/microsoft/vscode-java-dependency/wiki/Register-Command-onto-the-Nodes-of-Project-View
16
+ */
11
17
suite ( "Context Value Tests" , ( ) => {
12
18
13
19
test ( "test workspace node" , async function ( ) {
14
- assert . equal ( ( await workspace . getTreeItem ( ) ) . contextValue , "java:workspaceFolder+uri" ) ;
20
+ assert . ok ( / j a v a : w o r k s p a c e F o l d e r (? = . * ? \b \+ u r i \b ) / . test ( ( await workspace . getTreeItem ( ) ) . contextValue || "" ) ) ;
15
21
} ) ;
16
22
17
23
test ( "test Maven project node" , async function ( ) {
18
- assert . equal ( ( await mavenProject . getTreeItem ( ) ) . contextValue , "java:project+java+maven+uri" ) ;
24
+ assert . ok ( / j a v a : p r o j e c t (? = . * ? \b \+ j a v a \b ) (? = . * ? \b \+ m a v e n \b ) (? = . * ? \b \+ u r i \b ) / . test ( ( await mavenProject . getTreeItem ( ) ) . contextValue || "" ) ) ;
19
25
} ) ;
20
26
21
27
test ( "test Gradle project node" , async function ( ) {
22
- assert . equal ( ( await gradleProject . getTreeItem ( ) ) . contextValue , "java:project+java+gradle+uri" ) ;
28
+ assert . ok ( / j a v a : p r o j e c t (? = . * ? \b \+ j a v a \b ) (? = . * ? \b \+ g r a d l e \b ) (? = . * ? \b \+ u r i \b ) / . test ( ( await gradleProject . getTreeItem ( ) ) . contextValue || "" ) ) ;
23
29
} ) ;
24
30
25
31
test ( "test JRE container node" , async function ( ) {
26
- assert . equal ( ( await jreContainer . getTreeItem ( ) ) . contextValue , "java:container+jre+uri" ) ;
32
+ assert . ok ( / j a v a : c o n t a i n e r (? = . * ? \b \+ j r e \b ) (? = . * ? \b \+ u r i \b ) / . test ( ( await jreContainer . getTreeItem ( ) ) . contextValue || "" ) ) ;
27
33
} ) ;
28
34
29
35
test ( "test Maven container node" , async function ( ) {
30
- assert . equal ( ( await mavenContainer . getTreeItem ( ) ) . contextValue , "java:container+maven+uri" ) ;
36
+ assert . ok ( / j a v a : c o n t a i n e r (? = . * ? \b \+ m a v e n \b ) (? = . * ? \b \+ u r i \b ) / . test ( ( await mavenContainer . getTreeItem ( ) ) . contextValue || "" ) ) ;
31
37
} ) ;
32
38
33
39
test ( "test Gradle container node" , async function ( ) {
34
- assert . equal ( ( await gradleContainer . getTreeItem ( ) ) . contextValue , "java:container+gradle+uri" ) ;
40
+ assert . ok ( / j a v a : c o n t a i n e r (? = . * ? \b \+ g r a d l e \b ) (? = . * ? \b \+ u r i \b ) / . test ( ( await gradleContainer . getTreeItem ( ) ) . contextValue || "" ) ) ;
35
41
} ) ;
36
42
37
43
test ( "test Referenced Libraries container node" , async function ( ) {
38
- assert . equal ( ( await referencedLibrariesContainer . getTreeItem ( ) ) . contextValue , "java:container+referencedLibrary+uri" ) ;
44
+ assert . ok ( / j a v a : c o n t a i n e r (? = .* ?\b \+ r e f e r e n c e d L i b r a r y \b ) (? = .* ?\b \+ u r i \b ) /
45
+ . test ( ( await referencedLibrariesContainer . getTreeItem ( ) ) . contextValue || "" ) ) ;
39
46
} ) ;
40
47
41
48
test ( "test source root node" , async function ( ) {
42
- assert . equal ( ( await sourceRoot . getTreeItem ( ) ) . contextValue , "java:packageRoot+source+uri" ) ;
49
+ assert . ok ( / j a v a : p a c k a g e R o o t (? = .* ?\b \+ s o u r c e \b ) (? = .* ?\b \+ u r i \b ) / . test ( ( await sourceRoot . getTreeItem ( ) ) . contextValue || "" ) ) ;
50
+ } ) ;
51
+
52
+ test ( "test test-source root node" , async function ( ) {
53
+ assert . ok ( / j a v a : p a c k a g e R o o t (? = .* ?\b \+ s o u r c e \b ) (? = .* ?\b \+ u r i \b ) (? = .* ?\b \+ t e s t \b ) /
54
+ . test ( ( await testSourceRoot . getTreeItem ( ) ) . contextValue || "" ) ) ;
43
55
} ) ;
44
56
45
57
test ( "test resource root node" , async function ( ) {
46
- assert . equal ( ( await resourceRoot . getTreeItem ( ) ) . contextValue , "java:packageRoot+resource+uri" ) ;
58
+ assert . ok ( / j a v a : p a c k a g e R o o t (? = . * ? \b \+ r e s o u r c e \b ) (? = . * ? \b \+ u r i \b ) / . test ( ( await resourceRoot . getTreeItem ( ) ) . contextValue || "" ) ) ;
47
59
} ) ;
48
60
49
61
test ( "test dependency jar node" , async function ( ) {
50
- assert . equal ( ( await dependencyJar . getTreeItem ( ) ) . contextValue , "java:jar+uri" ) ;
62
+ assert . ok ( / j a v a : j a r (? = . * ? \b \+ u r i \b ) / . test ( ( await dependencyJar . getTreeItem ( ) ) . contextValue || "" ) ) ;
51
63
} ) ;
52
64
53
65
test ( "test referenced library jar node" , async function ( ) {
54
- assert . equal ( ( await referencedLibraryJar . getTreeItem ( ) ) . contextValue , "java:jar+referencedLibrary+uri" ) ;
66
+ assert . ok ( / j a v a : j a r (? = .* ?\b \+ r e f e r e n c e d L i b r a r y \b ) (? = .* ?\b \+ u r i \b ) / . test ( ( await referencedLibraryJar . getTreeItem ( ) ) . contextValue || "" ) ) ;
67
+ } ) ;
68
+
69
+ test ( "test source package node" , async function ( ) {
70
+ assert . ok ( / j a v a : p a c k a g e (? = .* ?\b \+ s o u r c e \b ) (? = .* ?\b \+ u r i \b ) / . test ( ( await sourcePackage . getTreeItem ( ) ) . contextValue || "" ) ) ;
55
71
} ) ;
56
72
57
73
test ( "test source package node" , async function ( ) {
58
- assert . equal ( ( await sourcePackage . getTreeItem ( ) ) . contextValue , "java:package+source+uri" ) ;
74
+ assert . ok ( / j a v a : p a c k a g e (? = .* ?\b \+ s o u r c e \b ) (? = .* ?\b \+ t e s t \b ) (? = .* ?\b \+ u r i \b ) /
75
+ . test ( ( await testSourcePackage . getTreeItem ( ) ) . contextValue || "" ) ) ;
59
76
} ) ;
60
77
61
78
test ( "test binary package node" , async function ( ) {
62
- assert . equal ( ( await binaryPackage . getTreeItem ( ) ) . contextValue , "java:package+binary+uri" ) ;
79
+ assert . ok ( / j a v a : p a c k a g e (? = . * ? \b \+ b i n a r y \b ) (? = . * ? \b \+ u r i \b ) / . test ( ( await binaryPackage . getTreeItem ( ) ) . contextValue || "" ) ) ;
63
80
} ) ;
64
81
65
82
test ( "test file node" , async function ( ) {
66
- assert . equal ( ( await file . getTreeItem ( ) ) . contextValue , "java:file+uri" ) ;
83
+ assert . ok ( / j a v a : f i l e (? = . * ? \b \+ u r i \b ) / . test ( ( await file . getTreeItem ( ) ) . contextValue || "" ) ) ;
67
84
} ) ;
68
85
69
86
test ( "test class type node" , async function ( ) {
70
- assert . equal ( ( await classType . getTreeItem ( ) ) . contextValue , "java:type+class+uri" ) ;
87
+ assert . ok ( / j a v a : t y p e (? = .* ?\b \+ c l a s s \b ) (? = .* ?\b \+ u r i \b ) / . test ( ( await classType . getTreeItem ( ) ) . contextValue || "" ) ) ;
88
+ } ) ;
89
+
90
+ test ( "test test-class type node" , async function ( ) {
91
+ assert . ok ( / j a v a : t y p e (? = .* ?\b \+ c l a s s \b ) (? = .* ?\b \+ t e s t \b ) (? = .* ?\b \+ u r i \b ) / . test ( ( await testClassType . getTreeItem ( ) ) . contextValue || "" ) ) ;
71
92
} ) ;
72
93
73
94
test ( "test enum type node" , async function ( ) {
74
- assert . equal ( ( await enumType . getTreeItem ( ) ) . contextValue , "java:type+enum+uri" ) ;
95
+ assert . ok ( / j a v a : t y p e (? = . * ? \b \+ e n u m \b ) (? = . * ? \b \+ u r i \b ) / . test ( ( await enumType . getTreeItem ( ) ) . contextValue || "" ) ) ;
75
96
} ) ;
76
97
77
98
test ( "test interface type node" , async function ( ) {
78
- assert . equal ( ( await interfaceType . getTreeItem ( ) ) . contextValue , "java:type+interface+uri" ) ;
99
+ assert . ok ( / j a v a : t y p e (? = . * ? \b \+ i n t e r f a c e \b ) (? = . * ? \b \+ u r i \b ) / . test ( ( await interfaceType . getTreeItem ( ) ) . contextValue || "" ) ) ;
79
100
} ) ;
80
101
81
102
test ( "test folder node" , async function ( ) {
82
- assert . equal ( ( await folder . getTreeItem ( ) ) . contextValue , "java:folder+uri" ) ;
103
+ assert . ok ( / j a v a : f o l d e r (? = . * ? \b \+ u r i \b ) / . test ( ( await folder . getTreeItem ( ) ) . contextValue || "" ) ) ;
83
104
} ) ;
84
105
} ) ;
85
106
@@ -143,6 +164,16 @@ const sourceRoot: PackageRootNode = new PackageRootNode({
143
164
entryKind : PackageRootKind . K_SOURCE ,
144
165
} as INodeData , mavenContainer , mavenProject ) ;
145
166
167
+ const testSourceRoot : PackageRootNode = new PackageRootNode ( {
168
+ name : "src/main/java" ,
169
+ uri : Uri . file ( __dirname ) . toString ( ) ,
170
+ kind : NodeKind . PackageRoot ,
171
+ entryKind : PackageRootKind . K_SOURCE ,
172
+ metaData : {
173
+ test : "true" ,
174
+ } ,
175
+ } as INodeData , mavenContainer , mavenProject ) ;
176
+
146
177
const resourceRoot : PackageRootNode = new PackageRootNode ( {
147
178
name : "src/main/resources" ,
148
179
uri : Uri . file ( __dirname ) . toString ( ) ,
@@ -170,6 +201,12 @@ const sourcePackage: PackageNode = new PackageNode({
170
201
kind : NodeKind . Package ,
171
202
} , sourceRoot , mavenProject , sourceRoot ) ;
172
203
204
+ const testSourcePackage : PackageNode = new PackageNode ( {
205
+ name : "com.microsoft.java" ,
206
+ uri : Uri . file ( __dirname ) . toString ( ) ,
207
+ kind : NodeKind . Package ,
208
+ } , testSourceRoot , mavenProject , testSourceRoot ) ;
209
+
173
210
const binaryPackage : PackageNode = new PackageNode ( {
174
211
name : "junit" ,
175
212
uri : Uri . file ( __dirname ) . toString ( ) ,
@@ -189,7 +226,16 @@ const classType: PrimaryTypeNode = new PrimaryTypeNode({
189
226
metaData : {
190
227
TypeKind : TypeKind . Class ,
191
228
} ,
192
- } , sourcePackage ) ;
229
+ } , sourcePackage , sourceRoot ) ;
230
+
231
+ const testClassType : PrimaryTypeNode = new PrimaryTypeNode ( {
232
+ name : "App" ,
233
+ uri : Uri . file ( __dirname ) . toString ( ) ,
234
+ kind : NodeKind . PrimaryType ,
235
+ metaData : {
236
+ TypeKind : TypeKind . Class ,
237
+ } ,
238
+ } , testSourcePackage , testSourceRoot ) ;
193
239
194
240
const enumType : PrimaryTypeNode = new PrimaryTypeNode ( {
195
241
name : "LanguageServerMode" ,
@@ -198,7 +244,7 @@ const enumType: PrimaryTypeNode = new PrimaryTypeNode({
198
244
metaData : {
199
245
TypeKind : TypeKind . Enum ,
200
246
} ,
201
- } , sourcePackage ) ;
247
+ } , sourcePackage , sourceRoot ) ;
202
248
203
249
const interfaceType : PrimaryTypeNode = new PrimaryTypeNode ( {
204
250
name : "Controller" ,
@@ -207,7 +253,7 @@ const interfaceType: PrimaryTypeNode = new PrimaryTypeNode({
207
253
metaData : {
208
254
TypeKind : TypeKind . Interface ,
209
255
} ,
210
- } , sourcePackage ) ;
256
+ } , sourcePackage , sourceRoot ) ;
211
257
212
258
const folder : FolderNode = new FolderNode ( {
213
259
name : "static" ,
0 commit comments