in src/controller/utils.ts [259:288]
async function resolveBelongingPackage(uri: Uri): Promise<TestItem | undefined> {
const pathsData: IJavaTestItem[] = await resolvePath(uri.toString());
if (_.isEmpty(pathsData) || pathsData.length < 2) {
return undefined;
}
const projectData: IJavaTestItem = pathsData[0];
if (projectData.testLevel !== TestLevel.Project) {
return undefined;
}
let belongingProject: TestItem | undefined = testController?.items.get(projectData.id);
if (!belongingProject) {
belongingProject = createTestItem(projectData);
testController?.items.add(belongingProject);
belongingProject.canResolveChildren = true;
}
const packageData: IJavaTestItem = pathsData[1];
if (packageData.testLevel !== TestLevel.Package) {
return undefined;
}
let belongingPackage: TestItem | undefined = belongingProject.children.get(packageData.id);
if (!belongingPackage) {
belongingPackage = createTestItem(packageData, belongingProject);
belongingPackage.canResolveChildren = true;
}
return belongingPackage;
}