X-Git-Url: https://git.jetbrains.org/?p=idea%2Fcommunity.git;a=blobdiff_plain;f=platform%2Fplatform-impl%2FtestSrc%2Fcom%2Fintellij%2Fide%2Futil%2FtreeView%2FTreeUiTest.java;h=84c338e6cc5f78ed344963fae5b0359c1885673b;hp=86e504e99279ad873bdfcd0fd605a726cdbb4054;hb=3fc72a31b2804eed80c62539155d675f422c9ae5;hpb=f02c52726f04c49c811cb555fe2cbbda73c50eec diff --git a/platform/platform-impl/testSrc/com/intellij/ide/util/treeView/TreeUiTest.java b/platform/platform-impl/testSrc/com/intellij/ide/util/treeView/TreeUiTest.java index 86e504e99279..84c338e6cc5f 100644 --- a/platform/platform-impl/testSrc/com/intellij/ide/util/treeView/TreeUiTest.java +++ b/platform/platform-impl/testSrc/com/intellij/ide/util/treeView/TreeUiTest.java @@ -803,6 +803,45 @@ public class TreeUiTest extends AbstractTreeBuilderTest { " +xunit\n"); } + public void testCollapsedPathOnExpandedCallback() throws Exception { + Node com = myRoot.addChild("com"); + + activate(); + assertTree("+/\n"); + + expand(getPath("/")); + assertTree("-/\n" + + " com\n"); + + com.addChild("intellij"); + + collapsePath(getPath("/")); + + final Ref done = new Ref(); + invokeLaterIfNeeded(new Runnable() { + @Override + public void run() { + getBuilder().expand(new NodeElement("com"), new Runnable() { + @Override + public void run() { + getBuilder().getTree().collapsePath(getPath("com")); + done.set(Boolean.TRUE); + } + }); + } + }); + + waitBuilderToCome(new Condition() { + @Override + public boolean value(Object o) { + return (done.get() != null) && done.get().booleanValue(); + } + }); + + assertTree("-/\n" + + " +com\n"); + } + public void testSelectionGoesToParentWhenOnlyChildMoved() throws Exception { buildStructure(myRoot); buildNode("openapi", true);