fix flaky test by initializing a structure on pane creation

This commit is contained in:
Sergey Malenkov
2017-11-02 22:44:18 +03:00
parent 12d78fa683
commit 4f3975db60
2 changed files with 10 additions and 5 deletions
@@ -61,7 +61,7 @@ import java.util.*;
import static com.intellij.openapi.application.Experiments.isFeatureEnabled;
public final class PackageViewPane extends AbstractProjectViewPSIPane {
public class PackageViewPane extends AbstractProjectViewPSIPane {
@NonNls public static final String ID = "PackagesPane";
private final MyDeletePSIElementProvider myDeletePSIElementProvider = new MyDeletePSIElementProvider();
@@ -16,8 +16,8 @@
package com.intellij.projectView;
import com.intellij.ide.projectView.ProjectView;
import com.intellij.ide.projectView.impl.AbstractProjectTreeStructure;
import com.intellij.ide.projectView.impl.PackageViewPane;
import com.intellij.ide.projectView.impl.ProjectAbstractTreeStructureBase;
import com.intellij.ide.projectView.impl.ProjectViewImpl;
import com.intellij.lang.properties.projectView.ResourceBundleGrouper;
import com.intellij.openapi.application.ApplicationManager;
@@ -213,10 +213,15 @@ public class PackagesTreeStructureTest extends TestSourceBasedTestCase {
projectView.setAbbreviatePackageNames(abbreviatePackageNames, PackageViewPane.ID);
projectView.setHideEmptyPackages(true, PackageViewPane.ID);
PackageViewPane packageViewPane = new PackageViewPane(myProject);
PackageViewPane packageViewPane = new PackageViewPane(myProject) {
@Override
protected ProjectAbstractTreeStructureBase createStructure() {
ProjectAbstractTreeStructureBase structure = super.createStructure();
structure.setProviders(new ResourceBundleGrouper(myProject));
return structure;
}
};
packageViewPane.createComponent();
((AbstractProjectTreeStructure) packageViewPane.getTreeStructure()).setProviders(new ResourceBundleGrouper(myProject));
packageViewPane.updateFromRoot(true);
JTree tree = packageViewPane.getTree();
PlatformTestUtil.waitForPromise(TreeUtil.promiseExpand(tree, levels - 1)); // -1 because root node is not visible
PlatformTestUtil.assertTreeEqual(tree, expected);