@@ -29,8 +29,9 @@ suite("Maven Project View Tests", () => {
2929 const projectChildren = await projectNode . getChildren ( ) ;
3030 assert . ok ( ! ! projectChildren . find ( ( c : DataNode ) => c . name === "pom.xml" ) ) ;
3131 assert . ok ( ! ! projectChildren . find ( ( c : DataNode ) => c . name === ".vscode" ) ) ;
32- assert . equal ( projectChildren . length , 8 , `Number of children should be 8, but was ${ projectChildren . length } .\n${ printNodes ( projectChildren ) } ` ) ;
33- const mainPackage = projectChildren [ 0 ] as PackageRootNode ;
32+ assert . ok ( projectChildren . length >= 8 , `Number of children should be at least 8, but was ${ projectChildren . length } .\n${ printNodes ( projectChildren ) } ` ) ;
33+ const mainPackage = projectChildren . find ( ( c : DataNode ) => c . name === "src/main/java" ) as PackageRootNode ;
34+ assert . ok ( mainPackage , "Should have src/main/java package root" ) ;
3435 assert . equal ( mainPackage . name , "src/main/java" , "Package name should be \"src/main/java\"" ) ;
3536
3637 const mainSourceSetChildren = await mainPackage . getChildren ( ) ;
@@ -78,15 +79,15 @@ suite("Maven Project View Tests", () => {
7879 const projectChildren = await projectNode . getChildren ( ) ;
7980 assert . ok ( ! ! projectChildren . find ( ( c : DataNode ) => c . name === "pom.xml" ) ) ;
8081 assert . ok ( ! ! projectChildren . find ( ( c : DataNode ) => c . name === ".vscode" ) ) ;
81- const mainPackage = projectChildren [ 0 ] as PackageRootNode ;
82- const testPackage = projectChildren [ 1 ] as PackageRootNode ;
83- assert . equal ( mainPackage . name , "src/main/java" , "Package name should be \" src/main/java\" ") ;
84- assert . equal ( testPackage . name , "src/test/java" , "Package name should be \" src/test/java\" ") ;
85- const systemLibrary = projectChildren [ 2 ] as ContainerNode ;
86- const mavenDependency = projectChildren [ 3 ] as ContainerNode ;
82+ const mainPackage = projectChildren . find ( ( c : DataNode ) => c . name === "src/main/java" ) as PackageRootNode ;
83+ const testPackage = projectChildren . find ( ( c : DataNode ) => c . name === "src/test/java" ) as PackageRootNode ;
84+ assert . ok ( mainPackage , "Should have src/main/java package root " ) ;
85+ assert . ok ( testPackage , "Should have src/test/java package root " ) ;
86+ const systemLibrary = projectChildren . find ( ( c : DataNode ) => c . name . startsWith ( "JRE System Library" ) ) as ContainerNode ;
87+ const mavenDependency = projectChildren . find ( ( c : DataNode ) => c . name === "Maven Dependencies" ) as ContainerNode ;
8788 // only match prefix of system library since JDK version may differ
88- assert . ok ( systemLibrary . name . startsWith ( "JRE System Library" ) , "Container name should start with JRE System Library" ) ;
89- assert . equal ( mavenDependency . name , "Maven Dependencies" , "Container name should be \" Maven Dependencies\" ") ;
89+ assert . ok ( systemLibrary , "Should have JRE System Library container " ) ;
90+ assert . ok ( mavenDependency , "Should have Maven Dependencies container " ) ;
9091
9192 // validate package nodes
9293 const mainSourceSetChildren = await mainPackage . getChildren ( ) ;
@@ -129,8 +130,10 @@ suite("Maven Project View Tests", () => {
129130
130131 const projectNode = ( await explorer . dataProvider . getChildren ( ) ) ! [ 0 ] as ProjectNode ;
131132 const packageRoots = await projectNode . getChildren ( ) ;
132- const mainPackage = packageRoots [ 0 ] as PackageRootNode ;
133- const testPackage = packageRoots [ 1 ] as PackageRootNode ;
133+ const mainPackage = packageRoots . find ( ( c : DataNode ) => c . name === "src/main/java" ) as PackageRootNode ;
134+ const testPackage = packageRoots . find ( ( c : DataNode ) => c . name === "src/test/java" ) as PackageRootNode ;
135+ assert . ok ( mainPackage , "Should have src/main/java" ) ;
136+ assert . ok ( testPackage , "Should have src/test/java" ) ;
134137 const mainSubPackage = ( await mainPackage . getChildren ( ) ) [ 0 ] as PackageNode ;
135138 const testSubPackage = ( await testPackage . getChildren ( ) ) [ 0 ] as PackageNode ;
136139 const mainClass = ( await mainSubPackage . getChildren ( ) ) [ 0 ] as PrimaryTypeNode ;
@@ -253,7 +256,11 @@ suite("Maven Project View Tests", () => {
253256
254257 const projectNode = ( await explorer . dataProvider . getChildren ( ) ) ! [ 0 ] as ProjectNode ;
255258 const projectChildren = await projectNode . getChildren ( ) ;
256- assert . equal ( projectChildren . length , 4 ) ;
259+ // When showNonJavaResources is false, non-Java resource nodes (pom.xml, .vscode, .settings, etc.) should be hidden
260+ assert . ok ( ! projectChildren . find ( ( c : DataNode ) => c . name === "pom.xml" ) , "pom.xml should be hidden" ) ;
261+ assert . ok ( ! projectChildren . find ( ( c : DataNode ) => c . name === ".vscode" ) , ".vscode should be hidden" ) ;
262+ assert . ok ( ! projectChildren . find ( ( c : DataNode ) => c . name === ".classpath" ) , ".classpath should be hidden" ) ;
263+ assert . ok ( ! projectChildren . find ( ( c : DataNode ) => c . name === ".project" ) , ".project should be hidden" ) ;
257264 } ) ;
258265
259266 test ( "Can maven dependency nodes display in correct groupId:artifactId:version format" , async function ( ) {
@@ -262,7 +269,8 @@ suite("Maven Project View Tests", () => {
262269 const roots = await explorer . dataProvider . getChildren ( ) ;
263270 const projectNode = roots ! [ 0 ] as ProjectNode ;
264271 const projectChildren = await projectNode . getChildren ( ) ;
265- const mavenDependency = projectChildren [ 3 ] as ContainerNode ;
272+ const mavenDependency = projectChildren . find ( ( c : DataNode ) => c . name === "Maven Dependencies" ) as ContainerNode ;
273+ assert . ok ( mavenDependency , "Should have Maven Dependencies container" ) ;
266274 const mavenChildren = await mavenDependency . getChildren ( ) ;
267275
268276 assert . equal ( mavenChildren [ 0 ] . getDisplayName ( ) , "org.hamcrest:hamcrest-core:1.3" ) ;
0 commit comments