async function resolveBelongingPackage()

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;
}