Skip to content

Commit 3b4cc9b

Browse files
committed
ProcessConsole.computeName() refactoring and smaller fixes
- Moved final field inits to constructor - Removed useless javadocs - Use instanceof variables where possible - Added "disposed" field and checks before each asyncExec() for that - Refactored computeName() to readable code -- split into multiple logical parts -- made things static which are static -- don't do anything if view is already disposed - Use imports in ProcessConsoleTests
1 parent a075c94 commit 3b4cc9b

2 files changed

Lines changed: 150 additions & 138 deletions

File tree

debug/org.eclipse.debug.tests/src/org/eclipse/debug/tests/console/ProcessConsoleTests.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
import org.eclipse.debug.core.Launch;
5555
import org.eclipse.debug.core.model.IProcess;
5656
import org.eclipse.debug.internal.ui.DebugUIPlugin;
57+
import org.eclipse.debug.internal.ui.views.console.ConsoleMessages;
5758
import org.eclipse.debug.internal.ui.views.console.ProcessConsole;
5859
import org.eclipse.debug.tests.DebugTestExtension;
5960
import org.eclipse.debug.tests.TestUtil;
@@ -230,10 +231,10 @@ public void testInputReadJobCancel() throws Exception {
230231
final MockProcess mockProcess = new MockProcess(MockProcess.RUN_FOREVER);
231232
try {
232233
final IProcess process = mockProcess.toRuntimeProcess("testInputReadJobCancel");
233-
final org.eclipse.debug.internal.ui.views.console.ProcessConsole console = new org.eclipse.debug.internal.ui.views.console.ProcessConsole(process, new ConsoleColorProvider());
234+
final ProcessConsole console = new ProcessConsole(process, new ConsoleColorProvider());
234235
try {
235236
console.initialize();
236-
final Class<?> jobFamily = org.eclipse.debug.internal.ui.views.console.ProcessConsole.class;
237+
final Class<?> jobFamily = ProcessConsole.class;
237238
assertThat(Job.getJobManager().find(jobFamily)).as("check input read job started").hasSizeGreaterThan(0);
238239
Job.getJobManager().cancel(jobFamily);
239240
TestUtil.waitForJobs(testInfo.getDisplayName(), ProcessConsole.class, 0, 1000);
@@ -292,7 +293,7 @@ public void processTerminationTest(ILaunchConfiguration launchConfig, boolean te
292293
final AtomicBoolean terminationSignaled = new AtomicBoolean(false);
293294
final Process mockProcess = new MockProcess(null, null, terminateBeforeConsoleInitialization ? 0 : -1);
294295
final IProcess process = DebugPlugin.newProcess(new Launch(launchConfig, ILaunchManager.RUN_MODE, null), mockProcess, testInfo.getDisplayName());
295-
final org.eclipse.debug.internal.ui.views.console.ProcessConsole console = new org.eclipse.debug.internal.ui.views.console.ProcessConsole(process, new ConsoleColorProvider());
296+
final ProcessConsole console = new ProcessConsole(process, new ConsoleColorProvider());
296297
console.addPropertyChangeListener(event -> {
297298
if (event.getSource() == console && IConsoleConstants.P_CONSOLE_OUTPUT_COMPLETE.equals(event.getProperty())) {
298299
terminationSignaled.set(true);
@@ -393,7 +394,7 @@ private IOConsole doConsoleOutputTest(byte[] testContent, Map<String, Object> la
393394
final IProcess process = mockProcess.toRuntimeProcess("Output Redirect", launchConfigAttributes);
394395
final String encoding = launchConfigAttributes != null ? (String) launchConfigAttributes.get(DebugPlugin.ATTR_CONSOLE_ENCODING) : null;
395396
final AtomicBoolean consoleFinished = new AtomicBoolean(false);
396-
final org.eclipse.debug.internal.ui.views.console.ProcessConsole console = new org.eclipse.debug.internal.ui.views.console.ProcessConsole(process, new ConsoleColorProvider(), encoding);
397+
final ProcessConsole console = new ProcessConsole(process, new ConsoleColorProvider(), encoding);
397398
console.addPropertyChangeListener((PropertyChangeEvent event) -> {
398399
if (event.getSource() == console && IConsoleConstants.P_CONSOLE_OUTPUT_COMPLETE.equals(event.getProperty())) {
399400
consoleFinished.set(true);
@@ -412,7 +413,7 @@ private IOConsole doConsoleOutputTest(byte[] testContent, Map<String, Object> la
412413
final IDocument doc = console.getDocument();
413414

414415
if (outFile != null) {
415-
String expectedPathMsg = MessageFormat.format(org.eclipse.debug.internal.ui.views.console.ConsoleMessages.ProcessConsole_1, outFile.getAbsolutePath());
416+
String expectedPathMsg = MessageFormat.format(ConsoleMessages.ProcessConsole_1, outFile.getAbsolutePath());
416417
assertEquals(expectedPathMsg, doc.get(doc.getLineOffset(0), doc.getLineLength(0)), "No or wrong output of redirect file path in console.");
417418
assertThat(console.getHyperlinks()).as("check redirect file path is linked").hasSize(1);
418419
}
@@ -451,7 +452,7 @@ public void testOutput() throws Exception {
451452
launchConfigAttributes.put(DebugPlugin.ATTR_CONSOLE_ENCODING, consoleEncoding);
452453
final IProcess process = mockProcess.toRuntimeProcess("simpleOutput", launchConfigAttributes);
453454
sysout.println(lines[1]);
454-
final org.eclipse.debug.internal.ui.views.console.ProcessConsole console = new org.eclipse.debug.internal.ui.views.console.ProcessConsole(process, new ConsoleColorProvider(), consoleEncoding);
455+
final ProcessConsole console = new ProcessConsole(process, new ConsoleColorProvider(), consoleEncoding);
455456
sysout.println(lines[2]);
456457
try {
457458
console.initialize();
@@ -507,7 +508,7 @@ public void testBinaryOutputToFile() throws Exception {
507508
launchConfigAttributes.put(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, outFile.getCanonicalPath());
508509
launchConfigAttributes.put(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, false);
509510
final IProcess process = mockProcess.toRuntimeProcess("redirectBinaryOutput", launchConfigAttributes);
510-
final org.eclipse.debug.internal.ui.views.console.ProcessConsole console = new org.eclipse.debug.internal.ui.views.console.ProcessConsole(process, new ConsoleColorProvider(), consoleEncoding);
511+
final ProcessConsole console = new ProcessConsole(process, new ConsoleColorProvider(), consoleEncoding);
511512
try {
512513
console.initialize();
513514

@@ -561,7 +562,7 @@ public void testBinaryInputFromFile() throws Exception {
561562
launchConfigAttributes.put(IDebugUIConstants.ATTR_CAPTURE_STDIN_FILE, inFile.getCanonicalPath());
562563
launchConfigAttributes.put(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, false);
563564
final IProcess process = mockProcess.toRuntimeProcess("redirectBinaryInput", launchConfigAttributes);
564-
final org.eclipse.debug.internal.ui.views.console.ProcessConsole console = new org.eclipse.debug.internal.ui.views.console.ProcessConsole(process, new ConsoleColorProvider(), consoleEncoding);
565+
final ProcessConsole console = new ProcessConsole(process, new ConsoleColorProvider(), consoleEncoding);
565566
try {
566567
console.initialize();
567568
mockProcess.waitFor(TestUtil.DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS);

0 commit comments

Comments
 (0)