1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Refactor MarkOccurrenceTest to JUnit5 style (#730)

This was completed so I could best investigate
https://github.com/eclipse-cdt/cdt/pull/729#issuecomment-1984184372
This commit is contained in:
Jonah Graham 2024-03-08 11:59:50 -05:00 committed by GitHub
parent 221d346f6d
commit 381cb7eac5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,5 +1,5 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2000, 2014 IBM Corporation and others. * Copyright (c) 2000, 2024 IBM Corporation and others.
* *
* This program and the accompanying materials * This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0 * are made available under the terms of the Eclipse Public License 2.0
@ -14,6 +14,11 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.ui.tests.text; package org.eclipse.cdt.ui.tests.text;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
import java.util.Iterator; import java.util.Iterator;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
@ -27,7 +32,7 @@ import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.PreferenceConstants; import org.eclipse.cdt.ui.PreferenceConstants;
import org.eclipse.cdt.ui.testplugin.DisplayHelper; import org.eclipse.cdt.ui.testplugin.DisplayHelper;
import org.eclipse.cdt.ui.testplugin.EditorTestHelper; import org.eclipse.cdt.ui.testplugin.EditorTestHelper;
import org.eclipse.cdt.ui.tests.BaseUITestCase; import org.eclipse.cdt.ui.tests.BaseUITestCase5;
import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IPath;
@ -53,17 +58,16 @@ import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.editors.text.EditorsUI; import org.eclipse.ui.editors.text.EditorsUI;
import org.eclipse.ui.internal.editors.text.EditorsPlugin; import org.eclipse.ui.internal.editors.text.EditorsPlugin;
import org.eclipse.ui.texteditor.AnnotationPreference; import org.eclipse.ui.texteditor.AnnotationPreference;
import org.junit.jupiter.api.AfterEach;
import junit.extensions.TestSetup; import org.junit.jupiter.api.BeforeEach;
import junit.framework.Test; import org.junit.jupiter.api.Test;
import junit.framework.TestSuite;
/** /**
* Tests the C/C++ Editor's occurrence marking feature. * Tests the C/C++ Editor's occurrence marking feature.
* *
* @since 5.0 * @since 5.0
*/ */
public class MarkOccurrenceTest extends BaseUITestCase { public class MarkOccurrenceTest extends BaseUITestCase5 {
private static final String PROJECT = "MarkOccurrenceTest"; private static final String PROJECT = "MarkOccurrenceTest";
private static final String OCCURRENCE_ANNOTATION = "org.eclipse.cdt.ui.occurrences"; private static final String OCCURRENCE_ANNOTATION = "org.eclipse.cdt.ui.occurrences";
@ -82,44 +86,11 @@ public class MarkOccurrenceTest extends BaseUITestCase {
private IRegion fMatch; private IRegion fMatch;
private StyledText fTextWidget; private StyledText fTextWidget;
private MarkOccurrenceTestSetup fProjectSetup; private ICProject fCProject;
protected static class MarkOccurrenceTestSetup extends TestSetup { @BeforeEach
private ICProject fCProject; protected void setUpMarkOccurenceTest() throws Exception {
fCProject = EditorTestHelper.createCProject(PROJECT, "resources/ceditor", false, true);
public MarkOccurrenceTestSetup(Test test) {
super(test);
}
@Override
protected void setUp() throws Exception {
super.setUp();
fCProject = EditorTestHelper.createCProject(PROJECT, "resources/ceditor", false, true);
}
@Override
protected void tearDown() throws Exception {
if (fCProject != null)
CProjectHelper.delete(fCProject);
super.tearDown();
}
}
public static Test setUpTest(Test someTest) {
return new MarkOccurrenceTestSetup(someTest);
}
public static Test suite() {
return setUpTest(new TestSuite(MarkOccurrenceTest.class));
}
@Override
protected void setUp() throws Exception {
if (!ResourcesPlugin.getWorkspace().getRoot().exists(new Path(PROJECT))) {
fProjectSetup = new MarkOccurrenceTestSetup(this);
fProjectSetup.setUp();
}
assertNotNull(fgHighlightRGB); assertNotNull(fgHighlightRGB);
assertNotNull(fgWriteHighlightRGB); assertNotNull(fgWriteHighlightRGB);
final IPreferenceStore store = CUIPlugin.getDefault().getPreferenceStore(); final IPreferenceStore store = CUIPlugin.getDefault().getPreferenceStore();
@ -161,8 +132,8 @@ public class MarkOccurrenceTest extends BaseUITestCase {
SelectionListenerWithASTManager.getDefault().addListener(fEditor, fSelWASTListener); SelectionListenerWithASTManager.getDefault().addListener(fEditor, fSelWASTListener);
} }
@Override @AfterEach
protected void tearDown() throws Exception { protected void tearDownMarkOccurenceTest() throws Exception {
final IPreferenceStore store = CUIPlugin.getDefault().getPreferenceStore(); final IPreferenceStore store = CUIPlugin.getDefault().getPreferenceStore();
store.setToDefault(PreferenceConstants.EDITOR_MARK_OCCURRENCES); store.setToDefault(PreferenceConstants.EDITOR_MARK_OCCURRENCES);
// TLETODO temporary fix for bug 314635 // TLETODO temporary fix for bug 314635
@ -171,9 +142,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
+ PreferenceConstants.EDITOR_SEMANTIC_HIGHLIGHTING_ENABLED_SUFFIX); + PreferenceConstants.EDITOR_SEMANTIC_HIGHLIGHTING_ENABLED_SUFFIX);
SelectionListenerWithASTManager.getDefault().removeListener(fEditor, fSelWASTListener); SelectionListenerWithASTManager.getDefault().removeListener(fEditor, fSelWASTListener);
EditorTestHelper.closeAllEditors(); EditorTestHelper.closeAllEditors();
if (fProjectSetup != null) { CProjectHelper.delete(fCProject);
fProjectSetup.tearDown();
}
} }
private CEditor openCEditor(IPath path) { private CEditor openCEditor(IPath path) {
@ -187,6 +156,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
} }
} }
@Test
public void testMarkTypeOccurrences() { public void testMarkTypeOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "ClassContainer", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "ClassContainer", true, true, true, false);
@ -201,6 +171,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkTypeOccurrences2() { public void testMarkTypeOccurrences2() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "Base1", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "Base1", true, true, true, false);
@ -215,6 +186,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkTypeOccurrences3() { public void testMarkTypeOccurrences3() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "Base2", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "Base2", true, true, true, false);
@ -229,6 +201,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkTypedefOccurrences() { public void testMarkTypedefOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "size_t", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "size_t", true, true, true, false);
@ -243,6 +216,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkClassTemplateOccurrences() { public void testMarkClassTemplateOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "TemplateClass", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "TemplateClass", true, true, true, false);
@ -257,6 +231,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkTemplateParameterOccurrences() { public void testMarkTemplateParameterOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "T1", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "T1", true, true, true, false);
@ -271,6 +246,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkTemplateIdOccurrences() { public void testMarkTemplateIdOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "ConstantTemplate", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "ConstantTemplate", true, true, true, false);
@ -285,6 +261,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkOccurrencesAfterEditorReuse() { public void testMarkOccurrencesAfterEditorReuse() {
IPreferenceStore store = PlatformUI.getWorkbench().getPreferenceStore(); IPreferenceStore store = PlatformUI.getWorkbench().getPreferenceStore();
store.setValue("REUSE_OPEN_EDITORS_BOOLEAN", true); store.setValue("REUSE_OPEN_EDITORS_BOOLEAN", true);
@ -317,6 +294,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
store.setValue("REUSE_OPEN_EDITORS", reuseOpenEditors); store.setValue("REUSE_OPEN_EDITORS", reuseOpenEditors);
} }
@Test
public void testMarkMethodOccurrences() { public void testMarkMethodOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "pubMethod", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "pubMethod", true, true, true, false);
@ -331,6 +309,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkMethodOccurrences2() { public void testMarkMethodOccurrences2() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "getNumber", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "getNumber", true, true, true, false);
@ -345,6 +324,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkFieldOccurrences() { public void testMarkFieldOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "pubField", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "pubField", true, true, true, false);
@ -359,6 +339,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkFieldOccurrences2() { public void testMarkFieldOccurrences2() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "tArg1", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "tArg1", true, true, true, false);
@ -373,6 +354,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkConstructorOccurrences() { public void testMarkConstructorOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "Base1(", true, true, false, false); fMatch = fFindReplaceDocumentAdapter.find(0, "Base1(", true, true, false, false);
@ -388,6 +370,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkDestructorOccurrences() { public void testMarkDestructorOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "~Base1", true, true, false, false); fMatch = fFindReplaceDocumentAdapter.find(0, "~Base1", true, true, false, false);
@ -403,6 +386,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkLocalOccurrences() { public void testMarkLocalOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "localVar", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "localVar", true, true, true, false);
@ -417,6 +401,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkMacroOccurrences() { public void testMarkMacroOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "INT", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "INT", true, true, true, false);
@ -431,6 +416,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkEmptyMacroOccurrences() { public void testMarkEmptyMacroOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "EMPTY_MACRO", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "EMPTY_MACRO", true, true, true, false);
@ -445,6 +431,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkEnumeratorOccurrences() { public void testMarkEnumeratorOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "ONE", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "ONE", true, true, true, false);
@ -459,6 +446,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkNamespaceOccurrences() { public void testMarkNamespaceOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "ns", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "ns", true, true, true, false);
@ -473,6 +461,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkNamespaceVariableOccurrences() { public void testMarkNamespaceVariableOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "namespaceVar", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "namespaceVar", true, true, true, false);
@ -487,6 +476,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkLabelOccurrences() { public void testMarkLabelOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "label", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "label", true, true, true, false);
@ -501,6 +491,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkOperatorOccurrences() { public void testMarkOperatorOccurrences() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "operator+", true, true, false, false); fMatch = fFindReplaceDocumentAdapter.find(0, "operator+", true, true, false, false);
@ -515,6 +506,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testNoOccurrencesIfDisabled() { public void testNoOccurrencesIfDisabled() {
CUIPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.EDITOR_MARK_OCCURRENCES, false); CUIPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.EDITOR_MARK_OCCURRENCES, false);
fOccurrences = Integer.MAX_VALUE; fOccurrences = Integer.MAX_VALUE;
@ -531,6 +523,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkLabelReference() { public void testMarkLabelReference() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "labelPointer", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "labelPointer", true, true, true, false);
@ -544,6 +537,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkReferencedLabel() { public void testMarkReferencedLabel() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "referencedLabel", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "referencedLabel", true, true, true, false);
@ -557,6 +551,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkReferencedStructuredBindingDefinition() { public void testMarkReferencedStructuredBindingDefinition() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "decomposedF", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "decomposedF", true, true, true, false);
@ -570,6 +565,7 @@ public class MarkOccurrenceTest extends BaseUITestCase {
assertOccurrencesInWidget(); assertOccurrencesInWidget();
} }
@Test
public void testMarkReferencedStructuredBindingInitializer() { public void testMarkReferencedStructuredBindingInitializer() {
try { try {
fMatch = fFindReplaceDocumentAdapter.find(0, "decompArr", true, true, true, false); fMatch = fFindReplaceDocumentAdapter.find(0, "decompArr", true, true, true, false);