aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/core/src/lombok/RunTestsViaEcj.java14
-rw-r--r--test/eclipse/resource/cleanup/useThis/after/A.java18
-rw-r--r--test/eclipse/resource/cleanup/useThis/before/A.java18
-rw-r--r--test/eclipse/resource/extractinterface/simple/after/A.java15
-rw-r--r--test/eclipse/resource/extractinterface/simple/after/Interface.java21
-rw-r--r--test/eclipse/resource/extractinterface/simple/before/A.java15
-rw-r--r--test/eclipse/resource/extractinterface/usage/after/A.java15
-rw-r--r--test/eclipse/resource/extractinterface/usage/after/B.java12
-rw-r--r--test/eclipse/resource/extractinterface/usage/after/Interface.java21
-rw-r--r--test/eclipse/resource/extractinterface/usage/before/A.java15
-rw-r--r--test/eclipse/resource/extractinterface/usage/before/B.java12
-rw-r--r--test/eclipse/resource/rename/builderField/after/A.java8
-rw-r--r--test/eclipse/resource/rename/builderField/before/A.java8
-rw-r--r--test/eclipse/resource/rename/simple/after/A.java14
-rw-r--r--test/eclipse/resource/rename/simple/before/A.java14
-rw-r--r--test/eclipse/resource/rename/withGetter/after/A.java18
-rw-r--r--test/eclipse/resource/rename/withGetter/before/A.java18
-rw-r--r--test/eclipse/resource/rename/withGetterDifferentFile/after/A.java14
-rw-r--r--test/eclipse/resource/rename/withGetterDifferentFile/after/B.java7
-rw-r--r--test/eclipse/resource/rename/withGetterDifferentFile/before/A.java14
-rw-r--r--test/eclipse/resource/rename/withGetterDifferentFile/before/B.java7
-rw-r--r--test/eclipse/resource/select/builderField/A.java8
-rw-r--r--test/eclipse/resource/select/superbuilderField/A.java8
-rw-r--r--test/eclipse/src/lombok/eclipse/EclipseRunner.java154
-rw-r--r--test/eclipse/src/lombok/eclipse/EclipseTests.java16
-rw-r--r--test/eclipse/src/lombok/eclipse/RefactoringUtils.java30
-rw-r--r--test/eclipse/src/lombok/eclipse/SetupBeforeAfterTest.java52
-rw-r--r--test/eclipse/src/lombok/eclipse/SetupSingleFileTest.java28
-rw-r--r--test/eclipse/src/lombok/eclipse/SetupTest.java107
-rw-r--r--test/eclipse/src/lombok/eclipse/cleanup/CleanupTest.java45
-rw-r--r--test/eclipse/src/lombok/eclipse/edit/SelectTest.java48
-rw-r--r--test/eclipse/src/lombok/eclipse/refactoring/ExtractInterfaceTest.java47
-rw-r--r--test/eclipse/src/lombok/eclipse/refactoring/RenameTest.java71
-rw-r--r--test/pretty/resource/after/RecordPattern.java15
-rw-r--r--test/pretty/resource/after/Switch19.java32
-rw-r--r--test/pretty/resource/before/RecordPattern.java16
-rw-r--r--test/pretty/resource/before/Switch17.java2
-rw-r--r--test/pretty/resource/before/Switch19.java33
-rw-r--r--test/transform/resource/after-delombok/CheckerFrameworkBuilder.java2
-rw-r--r--test/transform/resource/after-delombok/LoggerFloggerRecord.java3
-rw-r--r--test/transform/resource/after-delombok/SuperBuilderNameClashes.java46
-rw-r--r--test/transform/resource/after-delombok/ValInvalidParameter.java1
-rw-r--r--test/transform/resource/after-ecj/LoggerFloggerRecord.java3
-rw-r--r--test/transform/resource/after-ecj/NonNullOnRecord3.java6
-rw-r--r--test/transform/resource/after-ecj/SuperBuilderNameClashes.java35
-rw-r--r--test/transform/resource/before/LoggerFloggerRecord.java2
-rw-r--r--test/transform/resource/before/SuperBuilderNameClashes.java12
-rw-r--r--test/transform/resource/before/ValInvalidParameter.java2
48 files changed, 1111 insertions, 11 deletions
diff --git a/test/core/src/lombok/RunTestsViaEcj.java b/test/core/src/lombok/RunTestsViaEcj.java
index 60a6e92a..699b33ed 100644
--- a/test/core/src/lombok/RunTestsViaEcj.java
+++ b/test/core/src/lombok/RunTestsViaEcj.java
@@ -289,6 +289,10 @@ public class RunTestsViaEcj extends AbstractRunTests {
@Override public char[][] getPackageName() {
return null;
}
+
+ @Override public boolean ignoreOptionalProblems() {
+ return false;
+ }
}
private static final class TestCompilationUnitEclipse extends org.eclipse.jdt.internal.core.CompilationUnit {
@@ -308,6 +312,14 @@ public class RunTestsViaEcj extends AbstractRunTests {
mainTypeName = CharOperation.subarray(fileNameCharArray, start, end);
}
+ @Override public int hashCode() {
+ return System.identityHashCode(this);
+ }
+
+ @Override public boolean equals(Object obj) {
+ return this == obj;
+ }
+
@Override public char[] getContents() {
return source;
}
@@ -324,7 +336,7 @@ public class RunTestsViaEcj extends AbstractRunTests {
return null;
}
- @Override public char[] getModuleName() {
+ public char[] getModuleName() {
return null;
}
}
diff --git a/test/eclipse/resource/cleanup/useThis/after/A.java b/test/eclipse/resource/cleanup/useThis/after/A.java
new file mode 100644
index 00000000..58913c6c
--- /dev/null
+++ b/test/eclipse/resource/cleanup/useThis/after/A.java
@@ -0,0 +1,18 @@
+package pkg;
+
+import lombok.Builder;
+import lombok.Data;
+import lombok.With;
+import lombok.experimental.WithBy;
+
+@Data
+@Builder
+@With
+@WithBy
+public class A {
+ private String string;
+
+ public void a() {
+ this.string = "a";
+ }
+} \ No newline at end of file
diff --git a/test/eclipse/resource/cleanup/useThis/before/A.java b/test/eclipse/resource/cleanup/useThis/before/A.java
new file mode 100644
index 00000000..2eb74ebe
--- /dev/null
+++ b/test/eclipse/resource/cleanup/useThis/before/A.java
@@ -0,0 +1,18 @@
+package pkg;
+
+import lombok.Builder;
+import lombok.Data;
+import lombok.With;
+import lombok.experimental.WithBy;
+
+@Data
+@Builder
+@With
+@WithBy
+public class A {
+ private String string;
+
+ public void a() {
+ string = "a";
+ }
+} \ No newline at end of file
diff --git a/test/eclipse/resource/extractinterface/simple/after/A.java b/test/eclipse/resource/extractinterface/simple/after/A.java
new file mode 100644
index 00000000..66744a22
--- /dev/null
+++ b/test/eclipse/resource/extractinterface/simple/after/A.java
@@ -0,0 +1,15 @@
+package pkg;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@EqualsAndHashCode
+@Getter
+@Setter
+@ToString
+public class A implements Interface {
+ private String string;
+ private int integer;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/extractinterface/simple/after/Interface.java b/test/eclipse/resource/extractinterface/simple/after/Interface.java
new file mode 100644
index 00000000..f7fa896d
--- /dev/null
+++ b/test/eclipse/resource/extractinterface/simple/after/Interface.java
@@ -0,0 +1,21 @@
+package pkg;
+
+public interface Interface {
+
+ boolean equals(java.lang.Object o);
+
+ boolean canEqual(java.lang.Object other);
+
+ int hashCode();
+
+ String getString();
+
+ int getInteger();
+
+ void setString(String string);
+
+ void setInteger(int integer);
+
+ java.lang.String toString();
+
+} \ No newline at end of file
diff --git a/test/eclipse/resource/extractinterface/simple/before/A.java b/test/eclipse/resource/extractinterface/simple/before/A.java
new file mode 100644
index 00000000..87a6a8e4
--- /dev/null
+++ b/test/eclipse/resource/extractinterface/simple/before/A.java
@@ -0,0 +1,15 @@
+package pkg;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@EqualsAndHashCode
+@Getter
+@Setter
+@ToString
+public class A {
+ private String string;
+ private int integer;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/extractinterface/usage/after/A.java b/test/eclipse/resource/extractinterface/usage/after/A.java
new file mode 100644
index 00000000..66744a22
--- /dev/null
+++ b/test/eclipse/resource/extractinterface/usage/after/A.java
@@ -0,0 +1,15 @@
+package pkg;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@EqualsAndHashCode
+@Getter
+@Setter
+@ToString
+public class A implements Interface {
+ private String string;
+ private int integer;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/extractinterface/usage/after/B.java b/test/eclipse/resource/extractinterface/usage/after/B.java
new file mode 100644
index 00000000..fccd6237
--- /dev/null
+++ b/test/eclipse/resource/extractinterface/usage/after/B.java
@@ -0,0 +1,12 @@
+package pkg;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class B {
+ private Interface a = new A();
+ private String string = a.getString();
+ private int integer = a.getInteger();
+} \ No newline at end of file
diff --git a/test/eclipse/resource/extractinterface/usage/after/Interface.java b/test/eclipse/resource/extractinterface/usage/after/Interface.java
new file mode 100644
index 00000000..f7fa896d
--- /dev/null
+++ b/test/eclipse/resource/extractinterface/usage/after/Interface.java
@@ -0,0 +1,21 @@
+package pkg;
+
+public interface Interface {
+
+ boolean equals(java.lang.Object o);
+
+ boolean canEqual(java.lang.Object other);
+
+ int hashCode();
+
+ String getString();
+
+ int getInteger();
+
+ void setString(String string);
+
+ void setInteger(int integer);
+
+ java.lang.String toString();
+
+} \ No newline at end of file
diff --git a/test/eclipse/resource/extractinterface/usage/before/A.java b/test/eclipse/resource/extractinterface/usage/before/A.java
new file mode 100644
index 00000000..87a6a8e4
--- /dev/null
+++ b/test/eclipse/resource/extractinterface/usage/before/A.java
@@ -0,0 +1,15 @@
+package pkg;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@EqualsAndHashCode
+@Getter
+@Setter
+@ToString
+public class A {
+ private String string;
+ private int integer;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/extractinterface/usage/before/B.java b/test/eclipse/resource/extractinterface/usage/before/B.java
new file mode 100644
index 00000000..0034a8a6
--- /dev/null
+++ b/test/eclipse/resource/extractinterface/usage/before/B.java
@@ -0,0 +1,12 @@
+package pkg;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class B {
+ private A a = new A();
+ private String string = a.getString();
+ private int integer = a.getInteger();
+} \ No newline at end of file
diff --git a/test/eclipse/resource/rename/builderField/after/A.java b/test/eclipse/resource/rename/builderField/after/A.java
new file mode 100644
index 00000000..4d2ac69a
--- /dev/null
+++ b/test/eclipse/resource/rename/builderField/after/A.java
@@ -0,0 +1,8 @@
+package pkg;
+
+import lombok.Builder;
+
+@Builder
+public class A {
+ private String newString;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/rename/builderField/before/A.java b/test/eclipse/resource/rename/builderField/before/A.java
new file mode 100644
index 00000000..3f4ec235
--- /dev/null
+++ b/test/eclipse/resource/rename/builderField/before/A.java
@@ -0,0 +1,8 @@
+package pkg;
+
+import lombok.Builder;
+
+@Builder
+public class A {
+ private String string;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/rename/simple/after/A.java b/test/eclipse/resource/rename/simple/after/A.java
new file mode 100644
index 00000000..5a564be2
--- /dev/null
+++ b/test/eclipse/resource/rename/simple/after/A.java
@@ -0,0 +1,14 @@
+package pkg;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@EqualsAndHashCode
+@Getter
+@Setter
+@ToString
+public class A {
+ private String newString;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/rename/simple/before/A.java b/test/eclipse/resource/rename/simple/before/A.java
new file mode 100644
index 00000000..b0d4c41e
--- /dev/null
+++ b/test/eclipse/resource/rename/simple/before/A.java
@@ -0,0 +1,14 @@
+package pkg;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@EqualsAndHashCode
+@Getter
+@Setter
+@ToString
+public class A {
+ private String string;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/rename/withGetter/after/A.java b/test/eclipse/resource/rename/withGetter/after/A.java
new file mode 100644
index 00000000..81237a7e
--- /dev/null
+++ b/test/eclipse/resource/rename/withGetter/after/A.java
@@ -0,0 +1,18 @@
+package pkg;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@EqualsAndHashCode
+@Getter
+@Setter
+@ToString
+public class A {
+ private String newString;
+
+ public String test() {
+ return getNewString();
+ }
+} \ No newline at end of file
diff --git a/test/eclipse/resource/rename/withGetter/before/A.java b/test/eclipse/resource/rename/withGetter/before/A.java
new file mode 100644
index 00000000..c9d9e4e5
--- /dev/null
+++ b/test/eclipse/resource/rename/withGetter/before/A.java
@@ -0,0 +1,18 @@
+package pkg;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@EqualsAndHashCode
+@Getter
+@Setter
+@ToString
+public class A {
+ private String string;
+
+ public String test() {
+ return getString();
+ }
+} \ No newline at end of file
diff --git a/test/eclipse/resource/rename/withGetterDifferentFile/after/A.java b/test/eclipse/resource/rename/withGetterDifferentFile/after/A.java
new file mode 100644
index 00000000..5a564be2
--- /dev/null
+++ b/test/eclipse/resource/rename/withGetterDifferentFile/after/A.java
@@ -0,0 +1,14 @@
+package pkg;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@EqualsAndHashCode
+@Getter
+@Setter
+@ToString
+public class A {
+ private String newString;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/rename/withGetterDifferentFile/after/B.java b/test/eclipse/resource/rename/withGetterDifferentFile/after/B.java
new file mode 100644
index 00000000..f7cd35c4
--- /dev/null
+++ b/test/eclipse/resource/rename/withGetterDifferentFile/after/B.java
@@ -0,0 +1,7 @@
+package pkg;
+
+public class B {
+ public String test() {
+ return new A().getNewString();
+ }
+} \ No newline at end of file
diff --git a/test/eclipse/resource/rename/withGetterDifferentFile/before/A.java b/test/eclipse/resource/rename/withGetterDifferentFile/before/A.java
new file mode 100644
index 00000000..b0d4c41e
--- /dev/null
+++ b/test/eclipse/resource/rename/withGetterDifferentFile/before/A.java
@@ -0,0 +1,14 @@
+package pkg;
+
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@EqualsAndHashCode
+@Getter
+@Setter
+@ToString
+public class A {
+ private String string;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/rename/withGetterDifferentFile/before/B.java b/test/eclipse/resource/rename/withGetterDifferentFile/before/B.java
new file mode 100644
index 00000000..24a74d6f
--- /dev/null
+++ b/test/eclipse/resource/rename/withGetterDifferentFile/before/B.java
@@ -0,0 +1,7 @@
+package pkg;
+
+public class B {
+ public String test() {
+ return new A().getString();
+ }
+} \ No newline at end of file
diff --git a/test/eclipse/resource/select/builderField/A.java b/test/eclipse/resource/select/builderField/A.java
new file mode 100644
index 00000000..18b4b150
--- /dev/null
+++ b/test/eclipse/resource/select/builderField/A.java
@@ -0,0 +1,8 @@
+package pkg;
+
+import lombok.Builder;
+
+@Builder
+public class A {
+ private String id;
+} \ No newline at end of file
diff --git a/test/eclipse/resource/select/superbuilderField/A.java b/test/eclipse/resource/select/superbuilderField/A.java
new file mode 100644
index 00000000..d9df476c
--- /dev/null
+++ b/test/eclipse/resource/select/superbuilderField/A.java
@@ -0,0 +1,8 @@
+package pkg;
+
+import lombok.experimental.SuperBuilder;
+
+@SuperBuilder
+public class A {
+ private String id;
+} \ No newline at end of file
diff --git a/test/eclipse/src/lombok/eclipse/EclipseRunner.java b/test/eclipse/src/lombok/eclipse/EclipseRunner.java
new file mode 100644
index 00000000..1e1c17fe
--- /dev/null
+++ b/test/eclipse/src/lombok/eclipse/EclipseRunner.java
@@ -0,0 +1,154 @@
+package lombok.eclipse;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.runtime.adaptor.EclipseStarter;
+import org.eclipse.osgi.container.Module;
+import org.eclipse.osgi.container.Module.StartOptions;
+import org.eclipse.osgi.container.Module.State;
+import org.eclipse.osgi.internal.location.EquinoxLocations;
+import org.junit.runner.Description;
+import org.junit.runner.Runner;
+import org.junit.runner.notification.RunNotifier;
+import org.junit.runners.BlockJUnit4ClassRunner;
+import org.junit.runners.model.InitializationError;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.wiring.BundleRevision;
+import org.osgi.framework.wiring.BundleWire;
+import org.osgi.framework.wiring.BundleWiring;
+
+/**
+ * We have to load the osgi/eclipse classes before we run the test case. This is only possible using a custom runner.
+ *
+ */
+public class EclipseRunner extends Runner {
+ private Runner runner;
+ private boolean debug = false;
+ private static boolean setupDone;
+
+ public EclipseRunner(Class<?> klass) throws InitializationError {
+ try {
+ if (!setupDone) {
+ debug = System.getProperty("lombok.debug") != null;
+ startEclipse(System.getProperty("lombok.testenv"));
+ setupDone = true;
+ }
+ } catch (Throwable e) {
+ throw new InitializationError(e);
+ }
+
+ runner = new BlockJUnit4ClassRunner(klass);
+
+ }
+
+ @Override
+ public Description getDescription() {
+ return runner.getDescription();
+ }
+
+ @Override
+ public void run(RunNotifier notifier) {
+ runner.run(notifier);
+ }
+
+ private void startEclipse(String path) throws Exception {
+ Map<String, String> initialProperties = new HashMap<String, String>();
+
+ File rootDir = new File(path);
+ File pluginDir = new File(rootDir, "plugins/");
+
+ StringBuilder bundleString = new StringBuilder();
+ String osgiPlugin = null;
+ File[] bundles = pluginDir.listFiles();
+ Arrays.sort(bundles);
+ for (File plugin : bundles) {
+ String fileName = plugin.getName();
+ String bundleName = fileName.substring(0, fileName.indexOf("_"));
+
+ if (bundleName.equals("org.eclipse.osgi")) {
+ osgiPlugin = plugin.toURI().toString();
+ }
+
+ if (bundleString.length() > 0) {
+ bundleString.append(",");
+ }
+ bundleString.append(bundleName);
+ }
+
+ initialProperties.put(EclipseStarter.PROP_BUNDLES, bundleString.toString());
+ initialProperties.put(EclipseStarter.PROP_INSTALL_AREA, "file:" + path);
+ initialProperties.put(EquinoxLocations.PROP_INSTANCE_AREA, "file:" + path);
+ initialProperties.put(EclipseStarter.PROP_FRAMEWORK, osgiPlugin);
+ initialProperties.put("osgi.framework.useSystemProperties", "false");
+ initialProperties.put(EclipseStarter.PROP_NOSHUTDOWN, "false");
+
+ initialProperties.put("osgi.parentClassloader", "fwk");
+ initialProperties.put("osgi.frameworkParentClassloader", "fwk");
+ initialProperties.put("osgi.contextClassLoaderParent", "ext");
+ initialProperties.put("osgi.context.bootdelegation", "*");
+ initialProperties.put("org.osgi.framework.bootdelegation", "*");
+
+ EclipseStarter.setInitialProperties(initialProperties);
+ String[] args = new String[] {"-clean"};
+ if (debug) args = new String[] {"-clean", "-console", "-consoleLog", "-debug"};
+ BundleContext context = EclipseStarter.startup(args, null);
+
+ Map<String, Module> moduleMap = new HashMap<String, Module>();
+ for (Bundle b : context.getBundles()) {
+ Module module = b.adapt(Module.class);
+ moduleMap.put(b.getSymbolicName(), module);
+ }
+
+ Set<String> startedBundles = new HashSet<String>();
+ // Mark the debug bundle as started, it will fail anyway...
+ startedBundles.add("org.eclipse.debug.ui");
+
+ startBundle(moduleMap, startedBundles, "org.apache.felix.scr");
+ startBundle(moduleMap, startedBundles, "org.eclipse.jdt.core.manipulation");
+ startBundle(moduleMap, startedBundles, "org.eclipse.jdt.ui");
+
+ if (debug) {
+ for (Bundle b : context.getBundles()) {
+ System.out.println("BUNDLE: " + b.getSymbolicName() + " " + b.getVersion() + " " + b.getLocation() + " " + b.getState());
+ }
+ }
+ }
+
+ private void startBundle(Map<String, Module> moduleMap, Set<String> started, String bundle) throws BundleException {
+ if (started.contains(bundle)) return;
+
+ Module module = moduleMap.get(bundle);
+ started.add(bundle);
+
+ BundleWiring wiring = module.getBundle().adapt(BundleWiring.class);
+ List<BundleWire> requiredWires = wiring.getRequiredWires(BundleRevision.PACKAGE_NAMESPACE);
+ requiredWires.addAll(wiring.getRequiredWires(BundleRevision.BUNDLE_NAMESPACE));
+
+ for (BundleWire bundleWire : requiredWires) {
+ startBundle(moduleMap, started, bundleWire.getProvider().getSymbolicName());
+ }
+
+ startModule(module);
+ }
+
+ private void startModule(Module module) throws BundleException {
+ if (module.getState() == State.LAZY_STARTING || module.getState() == State.RESOLVED) {
+ if (debug) System.out.print("Starting bundle " + module.getBundle().getSymbolicName() + "...");
+ try {
+ module.start(StartOptions.LAZY_TRIGGER);
+ if (debug) System.out.println(" [done]");
+ } catch (Exception e) {
+ if (debug) System.out.println(" [error]");
+ e.printStackTrace();
+ }
+ }
+ }
+}
diff --git a/test/eclipse/src/lombok/eclipse/EclipseTests.java b/test/eclipse/src/lombok/eclipse/EclipseTests.java
new file mode 100644
index 00000000..ba017fd2
--- /dev/null
+++ b/test/eclipse/src/lombok/eclipse/EclipseTests.java
@@ -0,0 +1,16 @@
+package lombok.eclipse;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+import lombok.eclipse.cleanup.CleanupTest;
+import lombok.eclipse.edit.SelectTest;
+import lombok.eclipse.refactoring.ExtractInterfaceTest;
+import lombok.eclipse.refactoring.RenameTest;
+
+@RunWith(Suite.class)
+@SuiteClasses({ExtractInterfaceTest.class, RenameTest.class, SelectTest.class, CleanupTest.class})
+public class EclipseTests {
+
+}
diff --git a/test/eclipse/src/lombok/eclipse/RefactoringUtils.j