Skip to content

Commit 729723f

Browse files
committed
Convert o.e.ui.tests to plain JUnit 4 (part 3)
Reduce inheritance, simplify setup/teardown, improve assertions, etc.
1 parent 0a3c1fd commit 729723f

38 files changed

+420
-595
lines changed

tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/activities/DynamicTest.java

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
*******************************************************************************/
1414
package org.eclipse.ui.tests.activities;
1515

16+
import static org.eclipse.ui.PlatformUI.getWorkbench;
1617
import static org.junit.Assert.assertEquals;
1718
import static org.junit.Assert.assertFalse;
1819
import static org.junit.Assert.assertTrue;
@@ -28,8 +29,6 @@
2829
import org.eclipse.core.runtime.ContributorFactoryOSGi;
2930
import org.eclipse.core.runtime.IContributor;
3031
import org.eclipse.core.runtime.RegistryFactory;
31-
import org.eclipse.swt.widgets.Display;
32-
import org.eclipse.ui.PlatformUI;
3332
import org.eclipse.ui.activities.IActivity;
3433
import org.eclipse.ui.activities.IActivityPatternBinding;
3534
import org.eclipse.ui.activities.IActivityRequirementBinding;
@@ -41,6 +40,7 @@
4140
import org.eclipse.ui.activities.WorkbenchTriggerPointAdvisor;
4241
import org.eclipse.ui.internal.activities.MutableActivityManager;
4342
import org.eclipse.ui.tests.TestPlugin;
43+
import org.eclipse.ui.tests.harness.util.DisplayHelper;
4444
import org.junit.Before;
4545
import org.junit.Test;
4646

@@ -425,8 +425,8 @@ public void testCategoryListener() {
425425
* Tests to ensure dynamism with regard to the extension registry.
426426
*/
427427
@Test
428-
public void testDynamicRegistry() {
429-
IWorkbenchActivitySupport was = PlatformUI.getWorkbench()
428+
public void testDynamicRegistry() throws NotDefinedException {
429+
IWorkbenchActivitySupport was = getWorkbench()
430430
.getActivitySupport();
431431
IActivity activity = was.getActivityManager().getActivity(
432432
"dynamic.activity");
@@ -464,18 +464,8 @@ public void testDynamicRegistry() {
464464

465465
// spin the event loop and ensure that the changes come down the pipe.
466466
// 20 seconds should be more than enough
467-
long endTime = System.currentTimeMillis() + 20000;
468-
while (!(registryChanged[0] && registryChanged[1])
469-
&& System.currentTimeMillis() < endTime) {
470-
471-
Display display = PlatformUI.getWorkbench().getDisplay();
472-
if (display != null && !display.isDisposed()) {
473-
while (display.readAndDispatch()) {
474-
}
475-
}
476-
display.sleep();
477-
478-
}
467+
DisplayHelper.waitForCondition(getWorkbench().getDisplay(), 20000,
468+
() -> registryChanged[0] == true && registryChanged[1]);
479469

480470
assertTrue("Activity Listener not called", registryChanged[0]);
481471
assertTrue("Category Listener not called", registryChanged[1]);
@@ -490,11 +480,7 @@ public void testDynamicRegistry() {
490480
.pattern());
491481
assertEquals("dynamic.activity", patternBinding.getActivityId());
492482

493-
try {
494-
assertTrue(activity.isDefaultEnabled());
495-
} catch (NotDefinedException e) {
496-
fail(e.getMessage());
497-
}
483+
assertTrue(activity.isDefaultEnabled());
498484

499485
Set<IActivityRequirementBinding> requirementBindings = activity.getActivityRequirementBindings();
500486
assertEquals(1, requirementBindings.size());

tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IEditorPartTest.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@
1313
*******************************************************************************/
1414
package org.eclipse.ui.tests.api;
1515

16+
import static org.eclipse.ui.tests.harness.util.UITestCase.processEvents;
17+
import static org.junit.Assert.assertEquals;
18+
import static org.junit.Assert.assertFalse;
19+
import static org.junit.Assert.assertNotNull;
20+
import static org.junit.Assert.assertTrue;
21+
import static org.junit.Assert.fail;
22+
1623
import java.util.ArrayList;
1724
import java.util.LinkedHashMap;
1825
import java.util.List;
@@ -30,23 +37,13 @@
3037
import org.eclipse.ui.tests.harness.util.CallHistory;
3138
import org.eclipse.ui.tests.harness.util.FileUtil;
3239
import org.junit.Test;
33-
import org.junit.runner.RunWith;
34-
import org.junit.runners.JUnit4;
3540

3641
/**
3742
* This is a test for IEditorPart. Since IEditorPart is an interface this test
3843
* verifies the IEditorPart lifecycle rather than the implementation.
3944
*/
40-
@RunWith(JUnit4.class)
4145
public class IEditorPartTest extends IWorkbenchPartTest {
4246

43-
/**
44-
* Constructor for IEditorPartTest
45-
*/
46-
public IEditorPartTest() {
47-
super(IEditorPartTest.class.getSimpleName());
48-
}
49-
5047
/**
5148
* @see IWorkbenchPartTest#openPart(IWorkbenchPage)
5249
*/

tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IViewPartTest.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,30 +13,23 @@
1313
*******************************************************************************/
1414
package org.eclipse.ui.tests.api;
1515

16+
import static org.junit.Assert.assertFalse;
17+
import static org.junit.Assert.assertTrue;
18+
1619
import org.eclipse.ui.ISaveablePart;
1720
import org.eclipse.ui.IViewPart;
1821
import org.eclipse.ui.IWorkbenchPage;
1922
import org.eclipse.ui.tests.harness.util.CallHistory;
2023
import org.junit.Ignore;
2124
import org.junit.Test;
22-
import org.junit.runner.RunWith;
23-
import org.junit.runners.JUnit4;
2425

2526
/**
2627
* This is a test for IViewPart. Since IViewPart is an
2728
* interface this test verifies the IViewPart lifecycle rather
2829
* than the implementation.
2930
*/
30-
@RunWith(JUnit4.class)
3131
public class IViewPartTest extends IWorkbenchPartTest {
3232

33-
/**
34-
* Constructor for IEditorPartTest
35-
*/
36-
public IViewPartTest() {
37-
super(IViewPartTest.class.getSimpleName());
38-
}
39-
4033
/**
4134
* @see IWorkbenchPartTest#openPart(IWorkbenchPage)
4235
*/

tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/api/IWorkbenchPartTest.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,34 +13,29 @@
1313
*******************************************************************************/
1414
package org.eclipse.ui.tests.api;
1515

16+
import static org.junit.Assert.assertTrue;
17+
1618
import org.eclipse.ui.IWorkbenchPage;
1719
import org.eclipse.ui.IWorkbenchWindow;
1820
import org.eclipse.ui.tests.harness.util.CallHistory;
1921
import org.eclipse.ui.tests.harness.util.UITestCase;
22+
import org.junit.Before;
2023
import org.junit.Test;
2124

2225
/**
2326
* This is a test for IWorkbenchPart. Since IWorkbenchPart is an
2427
* interface this test verifies the IWorkbenchPart lifecycle rather
2528
* than the implementation.
2629
*/
27-
public abstract class IWorkbenchPartTest extends UITestCase {
30+
public abstract class IWorkbenchPartTest {
2831

2932
protected IWorkbenchWindow fWindow;
3033

3134
protected IWorkbenchPage fPage;
3235

33-
/**
34-
* Constructor for IActionDelegateTest
35-
*/
36-
public IWorkbenchPartTest(String testName) {
37-
super(testName);
38-
}
39-
40-
@Override
41-
protected void doSetUp() throws Exception {
42-
super.doSetUp();
43-
fWindow = openTestWindow();
36+
@Before
37+
public void doSetUp() throws Exception {
38+
fWindow = UITestCase.openTestWindow();
4439
fPage = fWindow.getActivePage();
4540
}
4641

tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/Bug417762Test.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,6 @@
3333
import org.eclipse.ui.handlers.IHandlerService;
3434
import org.junit.Test;
3535

36-
/**
37-
* @since 3.5
38-
*/
3936
public class Bug417762Test {
4037

4138
@Test

tests/org.eclipse.ui.tests/Eclipse UI Tests/org/eclipse/ui/tests/commands/CommandCallbackTest.java

Lines changed: 31 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515

1616
package org.eclipse.ui.tests.commands;
1717

18+
import static org.eclipse.ui.PlatformUI.getWorkbench;
19+
import static org.eclipse.ui.tests.harness.util.UITestCase.openTestWindow;
20+
import static org.junit.Assert.assertEquals;
21+
import static org.junit.Assert.fail;
22+
1823
import java.util.HashMap;
1924
import java.util.Map;
2025

@@ -35,22 +40,21 @@
3540
import org.eclipse.ui.menus.UIElement;
3641
import org.eclipse.ui.services.IServiceLocator;
3742
import org.eclipse.ui.services.IServiceScopes;
38-
import org.eclipse.ui.tests.harness.util.UITestCase;
43+
import org.eclipse.ui.tests.harness.util.CloseTestWindowsRule;
44+
import org.junit.After;
45+
import org.junit.Before;
46+
import org.junit.Rule;
3947
import org.junit.Test;
40-
import org.junit.runner.RunWith;
41-
import org.junit.runners.JUnit4;
4248

43-
/**
44-
* @since 3.3
45-
*/
46-
@RunWith(JUnit4.class)
47-
public class CommandCallbackTest extends UITestCase {
49+
public class CommandCallbackTest {
4850

4951
private static final String HOST_PARAM_ID = "host";
5052
private static final String PROT_PARAM_ID = "protocol";
5153
private static final String PREFIX = "tests.commands.CCT.";
5254
private static final String CMD1_ID = PREFIX + "cmd1";
5355
private static final String CMD2_ID = PREFIX + "cmd2";
56+
@Rule
57+
public final CloseTestWindowsRule closeTestWindows = new CloseTestWindowsRule();
5458

5559
private ICommandService commandService;
5660
private Command cmd1;
@@ -61,27 +65,22 @@ public class CommandCallbackTest extends UITestCase {
6165
private CallbackHandler cmd1Handler;
6266
private CallbackHandler cmd2Handler;
6367

64-
public CommandCallbackTest() {
65-
super(CommandCallbackTest.class.getSimpleName());
66-
}
67-
68-
@Override
69-
protected void doSetUp() throws Exception {
70-
super.doSetUp();
71-
commandService = fWorkbench
68+
@Before
69+
public void doSetUp() throws Exception {
70+
commandService = getWorkbench()
7271
.getService(ICommandService.class);
7372
cmd1 = commandService.getCommand(CMD1_ID);
7473
cmd2 = commandService.getCommand(CMD2_ID);
75-
handlerService = fWorkbench
74+
handlerService = getWorkbench()
7675
.getService(IHandlerService.class);
7776
cmd1Handler = new CallbackHandler();
7877
cmd1Activation = handlerService.activateHandler(CMD1_ID, cmd1Handler);
7978
cmd2Handler = new CallbackHandler();
8079
cmd2Activation = handlerService.activateHandler(CMD2_ID, cmd2Handler);
8180
}
8281

83-
@Override
84-
protected void doTearDown() throws Exception {
82+
@After
83+
public void doTearDown() throws Exception {
8584
if (cmd1Activation != null) {
8685
handlerService.deactivateHandler(cmd1Activation);
8786
cmd1Activation = null;
@@ -90,7 +89,6 @@ protected void doTearDown() throws Exception {
9089
handlerService.deactivateHandler(cmd2Activation);
9190
cmd2Activation = null;
9291
}
93-
super.doTearDown();
9492
}
9593

9694
private static class CallbackHandler extends AbstractHandler implements
@@ -180,9 +178,9 @@ public void testNoParametersWithCallbacks() throws Exception {
180178
ParameterizedCommand pc2 = new ParameterizedCommand(cmd1, null);
181179

182180
IElementReference cr1 = commandService.registerElementForCommand(pc1,
183-
new MyElement(fWorkbench));
181+
new MyElement(getWorkbench()));
184182
IElementReference cr2 = commandService.registerElementForCommand(pc2,
185-
new MyElement(fWorkbench));
183+
new MyElement(getWorkbench()));
186184

187185
try {
188186
assertEquals(2, cmd1Handler.callbacks);
@@ -213,9 +211,9 @@ public void testParametersWithCallbacks() throws Exception {
213211
new Parameterization(parmProt, "http"),
214212
new Parameterization(parmHost, "download.eclipse.org") });
215213
IElementReference cr1 = commandService.registerElementForCommand(pc1,
216-
new MyElement(fWorkbench));
214+
new MyElement(getWorkbench()));
217215
IElementReference cr2 = commandService.registerElementForCommand(pc2,
218-
new MyElement(fWorkbench));
216+
new MyElement(getWorkbench()));
219217
try {
220218

221219
assertEquals(2, cmd2Handler.callbacks);
@@ -261,11 +259,11 @@ public void testParmsToSameCommand() throws Exception {
261259
new Parameterization(parmProt, "http"),
262260
new Parameterization(parmHost, "download.eclipse.org") });
263261
IElementReference cr1 = commandService.registerElementForCommand(pc1,
264-
new MyElement(fWorkbench));
262+
new MyElement(getWorkbench()));
265263
IElementReference cr2 = commandService.registerElementForCommand(pc2,
266-
new MyElement(fWorkbench));
264+
new MyElement(getWorkbench()));
267265
IElementReference cr3 = commandService.registerElementForCommand(pc3,
268-
new MyElement(fWorkbench));
266+
new MyElement(getWorkbench()));
269267
try {
270268

271269
assertEquals(3, cmd2Handler.callbacks);
@@ -323,15 +321,15 @@ public void testParmsToDifferentProtocol() throws Exception {
323321
new Parameterization[] { new Parameterization(parmProt, "ftp"),
324322
new Parameterization(parmHost, "download.eclipse.org") });
325323
IElementReference cr1 = commandService.registerElementForCommand(pc1,
326-
new MyElement(fWorkbench));
324+
new MyElement(getWorkbench()));
327325
IElementReference cr2 = commandService.registerElementForCommand(pc2,
328-
new MyElement(fWorkbench));
326+
new MyElement(getWorkbench()));
329327
IElementReference cr3 = commandService.registerElementForCommand(pc3,
330-
new MyElement(fWorkbench));
328+
new MyElement(getWorkbench()));
331329
IElementReference cr4 = commandService.registerElementForCommand(pc4,
332-
new MyElement(fWorkbench));
330+
new MyElement(getWorkbench()));
333331
IElementReference cr5 = commandService.registerElementForCommand(pc5,
334-
new MyElement(fWorkbench));
332+
new MyElement(getWorkbench()));
335333
try {
336334
assertEquals(5, cmd2Handler.callbacks);
337335
Map<String, String> filter = new HashMap<>();
@@ -420,7 +418,7 @@ public void testCallbackCleanup() throws Exception {
420418
try {
421419
assertEquals(2, cmd1Handler.callbacks);
422420
cmd1Handler.callbacks = 0;
423-
closeAllTestWindows();
421+
closeTestWindows.closeAllTestWindows();
424422
commandService.refreshElements(CMD1_ID, null);
425423
assertEquals(1, cmd1Handler.callbacks);
426424
} finally {

0 commit comments

Comments
 (0)