@Override public String fun(ResolveResult resolveResult) { PsiElement resolveResultElement = resolveResult.getElement(); assertNotNull(resolveResultElement); assertInstanceOf(resolveResultElement, PsiFileSystemItem.class); PsiFileSystemItem fileSystemItem = (PsiFileSystemItem) resolveResultElement; return VfsUtilCore.getRelativePath(fileSystemItem.getVirtualFile(), rootFile, '/'); } });
/** * Extracts the content of the repository tree e.g. a missing repositories message, or the * repositories themseleves (only the first item). */ private Object getPanelObject(JPanel panel) { // Shows the repositories panel assertInstanceOf(panel, RepositoryPanel.class); DefaultTreeModel treeModel = ((RepositoryPanel) panel).getTreeModel(); Enumeration root = ((DefaultMutableTreeNode) treeModel.getRoot()).children(); assertTrue(root.hasMoreElements()); Object repositories = root.nextElement(); assertInstanceOf(repositories, ProjectRepositoriesModelItem.class); Enumeration children = ((ProjectRepositoriesModelItem) repositories).children(); assertTrue(children.hasMoreElements()); return children.nextElement(); }
@Test public void testShowsMissingProjectPanel_WhenProjectIsMissing() { JPanel panel = getMissingProjectPanel(); // Shows the project not selected panel assertInstanceOf(panel, ProjectNotSelectedPanel.class); }
@Test public void testShowsNoRepositoriesMessage_WhenNoCloudReposFound() { RepositorySelector selector = getEmptyRepositoriesPanel(); // Shows a 'no repositories' message assertInstanceOf(getPanelObject(selector.getPanel()), ResourceEmptyModelItem.class); }
@Test public void testShowsListError_WhenServiceThrowsException() { RepositorySelector selector = getErrorRepositoryPanel(); // Contains an error item panel assertInstanceOf(getPanelObject(selector.getPanel()), ResourceErrorModelItem.class); }
@Test public void testListsRepositories() { RepositorySelector selector = getPopulatedRepositoriesPanel(true /*openPopup*/); // Contains a repository item panel assertInstanceOf(getPanelObject(selector.getPanel()), RepositoryModelItem.class); // Contains a repository item assertNotNull(selector.getRepositories()); assertNotEmpty(Collections.list(selector.getRepositories().children())); }