Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ public void testSingleSelectionAndNoInitialSelectionWithInitialPattern() {
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
DisplayHelper.waitForCondition(display, 3000, () -> !getSelectedItems(dialog).isEmpty());

List<Object> selected = getSelectedItems(dialog);

assertFalse("One file should be selected by default", selected.isEmpty());
Expand All @@ -100,6 +103,10 @@ public void testSingleSelectionAndOneInitialSelectionWithInitialPattern() {
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
DisplayHelper.waitForCondition(display, 3000,
() -> asList(FILES.get("foo.txt")).equals(getSelectedItems(dialog)));

List<Object> selected = getSelectedItems(dialog);

assertEquals("One file should be selected by default", asList(FILES.get("foo.txt")), selected);
Expand All @@ -119,6 +126,14 @@ public void testSingleSelectionAndOneInitialNonExistingSelectionWithInitialPatte
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
// Wait for table to be populated (even if selection remains empty)
DisplayHelper.waitForCondition(display, 3000, () -> {
Table table = (Table) ((Composite) ((Composite) ((Composite) dialog.getShell().getChildren()[0])
.getChildren()[0]).getChildren()[0]).getChildren()[3];
return table.getItemCount() > 0;
});

List<Object> selected = getSelectedItems(dialog);

assertTrue("No file should be selected by default", selected.isEmpty());
Expand All @@ -136,6 +151,14 @@ public void testSingleSelectionAndOneInitialSelectionWithoutInitialPattern() {
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
// Wait for table to be populated (even if selection remains empty)
DisplayHelper.waitForCondition(display, 3000, () -> {
Table table = (Table) ((Composite) ((Composite) ((Composite) dialog.getShell().getChildren()[0])
.getChildren()[0]).getChildren()[0]).getChildren()[3];
return table.getItemCount() > 0;
});

List<Object> selected = getSelectedItems(dialog);

assertTrue("No file should be selected by default", selected.isEmpty());
Expand All @@ -155,6 +178,14 @@ public void testSingleSelectionAndOneFilteredSelection() {
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
// Wait for table to be populated (even if selection remains empty)
DisplayHelper.waitForCondition(display, 3000, () -> {
Table table = (Table) ((Composite) ((Composite) ((Composite) dialog.getShell().getChildren()[0])
.getChildren()[0]).getChildren()[0]).getChildren()[3];
return table.getItemCount() > 0;
});

List<Object> selected = getSelectedItems(dialog);

assertTrue("No file should be selected by default", selected.isEmpty());
Expand All @@ -174,6 +205,10 @@ public void testSingleSelectionAndTwoInitialSelectionsWithInitialPattern() {
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
DisplayHelper.waitForCondition(display, 3000,
() -> asList(FILES.get("foo.txt")).equals(getSelectedItems(dialog)));

List<Object> selected = getSelectedItems(dialog);

assertEquals("The first file should be selected by default", asList(FILES.get("foo.txt")), selected);
Expand All @@ -192,6 +227,9 @@ public void testMultiSelectionAndNoInitialSelectionWithInitialPattern() {
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
DisplayHelper.waitForCondition(display, 3000, () -> !getSelectedItems(dialog).isEmpty());

List<Object> selected = getSelectedItems(dialog);

assertFalse("One file should be selected by default", selected.isEmpty());
Expand All @@ -211,6 +249,10 @@ public void testMultiSelectionAndOneInitialSelectionWithInitialPattern() {
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
DisplayHelper.waitForCondition(display, 3000,
() -> asList(FILES.get("foo.txt")).equals(getSelectedItems(dialog)));

List<Object> selected = getSelectedItems(dialog);

assertEquals("One file should be selected by default", asList(FILES.get("foo.txt")), selected);
Expand All @@ -228,6 +270,14 @@ public void testMultiSelectionAndOneInitialSelectionWithoutInitialPattern() {
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
// Wait for table to be populated (even if selection remains empty)
DisplayHelper.waitForCondition(display, 3000, () -> {
Table table = (Table) ((Composite) ((Composite) ((Composite) dialog.getShell().getChildren()[0])
.getChildren()[0]).getChildren()[0]).getChildren()[3];
return table.getItemCount() > 0;
});

List<Object> selected = getSelectedItems(dialog);

assertTrue("No file should be selected by default", selected.isEmpty());
Expand All @@ -247,6 +297,14 @@ public void testMultiSelectionAndTwoInitialNonExistingSelectionWithInitialPatter
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
// Wait for table to be populated (even if selection remains empty)
DisplayHelper.waitForCondition(display, 3000, () -> {
Table table = (Table) ((Composite) ((Composite) ((Composite) dialog.getShell().getChildren()[0])
.getChildren()[0]).getChildren()[0]).getChildren()[3];
return table.getItemCount() > 0;
});

List<Object> selected = getSelectedItems(dialog);

assertTrue("No file should be selected by default", selected.isEmpty());
Expand All @@ -266,8 +324,12 @@ public void testMultiSelectionAndSomeInitialNonExistingSelectionWithInitialPatte
dialog.open();
dialog.refresh();

List<Object> selected = getSelectedItems(dialog);
Display display = PlatformUI.getWorkbench().getDisplay();
Set<IFile> expectedSelection = new HashSet<>(asList(FILES.get("bar.txt"), FILES.get("foofoo")));
DisplayHelper.waitForCondition(display, 3000,
() -> expectedSelection.equals(new HashSet<>(getSelectedItems(dialog))));

List<Object> selected = getSelectedItems(dialog);
boolean allInitialElementsAreSelected = expectedSelection.equals(new HashSet<>(selected));

assertTrue("Two files should be selected by default", allInitialElementsAreSelected);
Expand All @@ -288,6 +350,12 @@ public void testMultiSelectionAndTwoInitialSelectionsWithInitialPattern() {
dialog.open();
dialog.refresh();

Display display = PlatformUI.getWorkbench().getDisplay();
DisplayHelper.waitForCondition(display, 3000, () -> {
List<Object> selected = getSelectedItems(dialog);
return selected.containsAll(initialSelection) && initialSelection.containsAll(selected);
});

List<Object> selected = getSelectedItems(dialog);
boolean initialElementsAreSelected = selected.containsAll(initialSelection)
&& initialSelection.containsAll(selected);
Expand All @@ -310,8 +378,14 @@ public void testMultiSelectionAndTwoInitialFilteredSelections() {
dialog.open();
dialog.refresh();

List<Object> selected = getSelectedItems(dialog);
Display display = PlatformUI.getWorkbench().getDisplay();
List<IFile> expectedSelection = asList(FILES.get("foo.txt"), FILES.get("bar.txt"));
DisplayHelper.waitForCondition(display, 3000, () -> {
List<Object> selected = getSelectedItems(dialog);
return selected.containsAll(expectedSelection) && expectedSelection.containsAll(selected);
});

List<Object> selected = getSelectedItems(dialog);
boolean initialElementsAreSelected = selected.containsAll(expectedSelection)
&& expectedSelection.containsAll(selected);

Expand Down
Loading