@@ -8,78 +8,99 @@ import { ContainerNode, FileNode, FolderNode, INodeData, NodeKind, PackageNode,
88
99// tslint:disable: only-arrow-functions
1010// 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+ */
1117suite ( "Context Value Tests" , ( ) => {
1218
1319 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 || "" ) ) ;
1521 } ) ;
1622
1723 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 || "" ) ) ;
1925 } ) ;
2026
2127 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 || "" ) ) ;
2329 } ) ;
2430
2531 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 || "" ) ) ;
2733 } ) ;
2834
2935 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 || "" ) ) ;
3137 } ) ;
3238
3339 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 || "" ) ) ;
3541 } ) ;
3642
3743 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 || "" ) ) ;
3946 } ) ;
4047
4148 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 || "" ) ) ;
4355 } ) ;
4456
4557 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 || "" ) ) ;
4759 } ) ;
4860
4961 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 || "" ) ) ;
5163 } ) ;
5264
5365 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 || "" ) ) ;
5571 } ) ;
5672
5773 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 || "" ) ) ;
5976 } ) ;
6077
6178 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 || "" ) ) ;
6380 } ) ;
6481
6582 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 || "" ) ) ;
6784 } ) ;
6885
6986 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 || "" ) ) ;
7192 } ) ;
7293
7394 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 || "" ) ) ;
7596 } ) ;
7697
7798 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 || "" ) ) ;
79100 } ) ;
80101
81102 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 || "" ) ) ;
83104 } ) ;
84105} ) ;
85106
@@ -143,6 +164,16 @@ const sourceRoot: PackageRootNode = new PackageRootNode({
143164 entryKind : PackageRootKind . K_SOURCE ,
144165} as INodeData , mavenContainer , mavenProject ) ;
145166
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+
146177const resourceRoot : PackageRootNode = new PackageRootNode ( {
147178 name : "src/main/resources" ,
148179 uri : Uri . file ( __dirname ) . toString ( ) ,
@@ -170,6 +201,12 @@ const sourcePackage: PackageNode = new PackageNode({
170201 kind : NodeKind . Package ,
171202} , sourceRoot , mavenProject , sourceRoot ) ;
172203
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+
173210const binaryPackage : PackageNode = new PackageNode ( {
174211 name : "junit" ,
175212 uri : Uri . file ( __dirname ) . toString ( ) ,
@@ -189,7 +226,16 @@ const classType: PrimaryTypeNode = new PrimaryTypeNode({
189226 metaData : {
190227 TypeKind : TypeKind . Class ,
191228 } ,
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 ) ;
193239
194240const enumType : PrimaryTypeNode = new PrimaryTypeNode ( {
195241 name : "LanguageServerMode" ,
@@ -198,7 +244,7 @@ const enumType: PrimaryTypeNode = new PrimaryTypeNode({
198244 metaData : {
199245 TypeKind : TypeKind . Enum ,
200246 } ,
201- } , sourcePackage ) ;
247+ } , sourcePackage , sourceRoot ) ;
202248
203249const interfaceType : PrimaryTypeNode = new PrimaryTypeNode ( {
204250 name : "Controller" ,
@@ -207,7 +253,7 @@ const interfaceType: PrimaryTypeNode = new PrimaryTypeNode({
207253 metaData : {
208254 TypeKind : TypeKind . Interface ,
209255 } ,
210- } , sourcePackage ) ;
256+ } , sourcePackage , sourceRoot ) ;
211257
212258const folder : FolderNode = new FolderNode ( {
213259 name : "static" ,
0 commit comments