Skip to content
Draft
Show file tree
Hide file tree
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 @@ -18,6 +18,8 @@
*******************************************************************************/
package org.eclipse.ui.internal.quickaccess;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
Expand Down Expand Up @@ -334,6 +336,10 @@ private void refreshTable(QuickAccessElement perfectMatch, List<QuickAccessEntry
item.setData(entry);
item.setText(0, entry.provider.getName());
item.setText(1, entry.element.getLabel());
if (Policy.DEBUG_QUICK_ACCESS) {
trace("Adding table row: name=" + entry.provider.getName() + ", label=" //$NON-NLS-1$ //$NON-NLS-2$
+ entry.element.getLabel());
}
if (Util.isWpf()) {
item.setImage(1, entry.getImage(entry.element, resourceManager));
}
Expand Down Expand Up @@ -836,6 +842,14 @@ public void mouseMove(MouseEvent e) {
});

table.addSelectionListener(SelectionListener.widgetDefaultSelectedAdapter(e -> handleSelection()));
if (Policy.DEBUG_QUICK_ACCESS) {
table.addDisposeListener(e -> {
StringWriter writer = new StringWriter();
new Exception("provide stack trace").printStackTrace(new PrintWriter(writer)); //$NON-NLS-1$
String stackTrace = writer.toString(); // stack trace as a string
trace("Table disposed" + System.lineSeparator() + stackTrace); //$NON-NLS-1$
});
}
return table;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
*******************************************************************************/
package org.eclipse.ui.tests.harness.util;

import org.junit.jupiter.api.extension.AfterEachCallback;
import org.junit.jupiter.api.extension.BeforeEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;

Expand All @@ -34,23 +37,7 @@ public final class TestRunLogUtil {
*
* Note: field must be public or JUnit4 will complain.
*/
public static TestWatcher LOG_TESTRUN = new TestWatcher() {
@Override
protected void starting(Description description) {
System.out.println(formatTestStartMessage(description.getMethodName()));
}

@Override
protected void failed(Throwable e, Description description) {
System.out.println(description.getMethodName() + " failed:");
e.printStackTrace(System.out);
}

@Override
protected void finished(Description description) {
System.out.println(formatTestFinishedMessage(description.getMethodName()));
}
};
public static TestWatcher LOG_TESTRUN = new LogTestWatcher();

/**
* Create message used to log start of a test.
Expand All @@ -72,6 +59,34 @@ public static String formatTestFinishedMessage(String testName) {
return testName + ": tearDown...\n"; //$NON-NLS-1$
}

private static class LogTestWatcher extends TestWatcher implements BeforeEachCallback, AfterEachCallback {
@Override
protected void starting(Description description) {
System.out.println(formatTestStartMessage(description.getMethodName()));
}

@Override
protected void failed(Throwable e, Description description) {
System.out.println(description.getMethodName() + " failed:");
e.printStackTrace(System.out);
}

@Override
protected void finished(Description description) {
System.out.println(formatTestFinishedMessage(description.getMethodName()));
}

@Override
public void beforeEach(ExtensionContext context) throws Exception {
System.out.println(formatTestStartMessage(context.getDisplayName()));
}

@Override
public void afterEach(ExtensionContext context) throws Exception {
System.out.println(formatTestFinishedMessage(context.getDisplayName()));
}
};

private TestRunLogUtil() {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,14 @@
import org.eclipse.ui.internal.quickaccess.QuickAccessMessages;
import org.eclipse.ui.tests.harness.util.CloseTestWindowsExtension;
import org.eclipse.ui.tests.harness.util.DisplayHelper;
import org.eclipse.ui.tests.harness.util.TestRunLogUtil;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.jupiter.api.extension.RegisterExtension;

/**
* Tests the quick access UI
Expand Down Expand Up @@ -92,6 +94,9 @@ protected void setInfoText(String text) {
private IDialogSettings dialogSettings;
private IWorkbenchWindow activeWorkbenchWindow;

@RegisterExtension
public final Object TEST_WATCHER = TestRunLogUtil.LOG_TESTRUN;

@BeforeAll
public static void enableDebugOutputs() {
Policy.DEBUG_QUICK_ACCESS = true;
Expand Down
Loading