mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 11:50:54 +07:00
by-instance equality in lookup
This commit is contained in:
@@ -735,7 +735,7 @@ public class Bar {
|
||||
assert !lookup
|
||||
}
|
||||
|
||||
public void testExplicitlyAutocompletionAfterAutoPopup() {
|
||||
public void testExplicitAutocompletionAfterAutoPopup() {
|
||||
myFixture.configureByText 'a.java', 'class Foo <caret>'
|
||||
type 'ext'
|
||||
|
||||
@@ -746,5 +746,22 @@ public class Bar {
|
||||
myFixture.checkResult 'class Foo extends <caret>'
|
||||
}
|
||||
|
||||
public void testExplicitMultipleVariantCompletionAfterAutoPopup() {
|
||||
myFixture.configureByText 'a.java', 'class Foo {<caret>}'
|
||||
type 'pr'
|
||||
|
||||
CompletionAutoPopupHandler.ourTestingAutopopup = false
|
||||
edt {
|
||||
myFixture.completeBasic()
|
||||
}
|
||||
myFixture.checkResult 'class Foo {pr<caret>}'
|
||||
lookup.items.each {
|
||||
lookup.list.cellRenderer.getListCellRendererComponent(lookup.list, it, 0, false, false)
|
||||
}
|
||||
assert myFixture.lookupElementStrings == ['private', 'protected']
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -64,6 +64,7 @@ import com.intellij.util.containers.ConcurrentHashMap;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.ui.AsyncProcessIcon;
|
||||
import com.intellij.util.ui.ButtonlessScrollBarUI;
|
||||
import gnu.trove.THashSet;
|
||||
import gnu.trove.TObjectHashingStrategy;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -382,7 +383,8 @@ public class LookupImpl extends LightweightHint implements LookupEx, Disposable
|
||||
|
||||
final List<LookupElement> items = matchingItems(snapshot);
|
||||
|
||||
if (items.equals(getItems())) {
|
||||
List<LookupElement> oldItems = getItems();
|
||||
if (oldItems.size() == items.size() && new THashSet<LookupElement>(items, TObjectHashingStrategy.IDENTITY).containsAll(oldItems)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user