aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/core/src/lombok/AbstractRunTests.java31
-rw-r--r--test/transform/resource/after-delombok/ConflictingStaticConstructorNames.java29
-rw-r--r--test/transform/resource/after-delombok/Constructors.java14
-rw-r--r--test/transform/resource/after-delombok/DataPlain.java1
-rw-r--r--test/transform/resource/after-delombok/ExtensionMethodPlain.java17
-rw-r--r--test/transform/resource/after-delombok/SneakyThrowsPlain.java1
-rw-r--r--test/transform/resource/after-delombok/SynchronizedName.java11
-rw-r--r--test/transform/resource/after-delombok/SynchronizedNameNoSuchField.java7
-rw-r--r--test/transform/resource/after-delombok/SynchronizedNameStaticToInstanceRef.java9
-rw-r--r--test/transform/resource/after-ecj/Accessors.java60
-rw-r--r--test/transform/resource/after-ecj/ClassNamedAfterGetter.java6
-rw-r--r--test/transform/resource/after-ecj/CommentsInterspersed.java6
-rw-r--r--test/transform/resource/after-ecj/ConflictingStaticConstructorNames.java25
-rw-r--r--test/transform/resource/after-ecj/Constructors.java11
-rw-r--r--test/transform/resource/after-ecj/DataExtended.java6
-rw-r--r--test/transform/resource/after-ecj/DataIgnore.java8
-rw-r--r--test/transform/resource/after-ecj/DataOnEnum.java10
-rw-r--r--test/transform/resource/after-ecj/DataOnLocalClass.java30
-rw-r--r--test/transform/resource/after-ecj/DataPlain.java44
-rw-r--r--test/transform/resource/after-ecj/DataWithGetter.java10
-rw-r--r--test/transform/resource/after-ecj/DataWithGetterNone.java10
-rw-r--r--test/transform/resource/after-ecj/DelegateOnGetter.java8
-rw-r--r--test/transform/resource/after-ecj/DelegateOnGetterNone.java8
-rw-r--r--test/transform/resource/after-ecj/DelegateOnMethods.java8
-rw-r--r--test/transform/resource/after-ecj/DelegateRecursion.java14
-rw-r--r--test/transform/resource/after-ecj/DelegateTypesAndExcludes.java8
-rw-r--r--test/transform/resource/after-ecj/DelegateWithDeprecated.java8
-rw-r--r--test/transform/resource/after-ecj/EqualsAndHashCode.java24
-rw-r--r--test/transform/resource/after-ecj/ExtensionMethodPlain.java25
-rw-r--r--test/transform/resource/after-ecj/GetterAccessLevel.java6
-rw-r--r--test/transform/resource/after-ecj/GetterAlreadyExists.java60
-rw-r--r--test/transform/resource/after-ecj/GetterBoolean.java14
-rw-r--r--test/transform/resource/after-ecj/GetterDeprecated.java6
-rw-r--r--test/transform/resource/after-ecj/GetterEnum.java12
-rw-r--r--test/transform/resource/after-ecj/GetterLazy.java6
-rw-r--r--test/transform/resource/after-ecj/GetterLazyBoolean.java12
-rw-r--r--test/transform/resource/after-ecj/GetterLazyEahcToString.java8
-rw-r--r--test/transform/resource/after-ecj/GetterLazyInvalid.java8
-rw-r--r--test/transform/resource/after-ecj/GetterLazyNative.java8
-rw-r--r--test/transform/resource/after-ecj/GetterNone.java8
-rw-r--r--test/transform/resource/after-ecj/GetterOnClass.java39
-rw-r--r--test/transform/resource/after-ecj/GetterOnStatic.java6
-rw-r--r--test/transform/resource/after-ecj/GetterPlain.java8
-rw-r--r--test/transform/resource/after-ecj/GetterWithDollar.java12
-rw-r--r--test/transform/resource/after-ecj/MultiFieldGetter.java14
-rw-r--r--test/transform/resource/after-ecj/SetterAccessLevel.java6
-rw-r--r--test/transform/resource/after-ecj/SetterAlreadyExists.java14
-rw-r--r--test/transform/resource/after-ecj/SetterDeprecated.java6
-rw-r--r--test/transform/resource/after-ecj/SetterOnClass.java36
-rw-r--r--test/transform/resource/after-ecj/SetterOnStatic.java6
-rw-r--r--test/transform/resource/after-ecj/SetterPlain.java8
-rw-r--r--test/transform/resource/after-ecj/SetterWithDollar.java12
-rw-r--r--test/transform/resource/after-ecj/SimpleTypeResolution.java4
-rw-r--r--test/transform/resource/after-ecj/SynchronizedName.java11
-rw-r--r--test/transform/resource/after-ecj/SynchronizedNameNoSuchField.java12
-rw-r--r--test/transform/resource/after-ecj/SynchronizedNameStaticToInstanceRef.java15
-rw-r--r--test/transform/resource/after-ecj/ToStringInner.java24
-rw-r--r--test/transform/resource/after-ecj/ToStringPlain.java12
-rw-r--r--test/transform/resource/after-ecj/TrickyTypeResolution.java8
-rw-r--r--test/transform/resource/before/ConflictingStaticConstructorNames.java4
-rw-r--r--test/transform/resource/before/Constructors.java4
-rw-r--r--test/transform/resource/before/ExtensionMethodPlain.java23
-rw-r--r--test/transform/resource/before/SynchronizedName.java6
-rw-r--r--test/transform/resource/before/SynchronizedNameNoSuchField.java8
-rw-r--r--test/transform/resource/before/SynchronizedNameStaticToInstanceRef.java8
-rw-r--r--test/transform/resource/messages-delombok/ConflictingStaticConstructorNames.java.messages1
-rw-r--r--test/transform/resource/messages-delombok/SynchronizedName.java.messages1
-rw-r--r--test/transform/resource/messages-delombok/SynchronizedNameNoSuchField.java.messages1
-rw-r--r--test/transform/resource/messages-delombok/SynchronizedNameStaticToInstanceRef.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/ConflictingStaticConstructorNames.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/SynchronizedName.java.messages3
-rw-r--r--test/transform/resource/messages-ecj/SynchronizedNameNoSuchField.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/SynchronizedNameStaticToInstanceRef.java.messages1
-rw-r--r--test/transform/resource/messages-idempotent/SynchronizedNameStaticToInstanceRef.java.messages1
-rw-r--r--test/transform/resource/messages-idempotent/ValErrors.java.messages7
75 files changed, 575 insertions, 346 deletions
diff --git a/test/core/src/lombok/AbstractRunTests.java b/test/core/src/lombok/AbstractRunTests.java
index b2200bbd..02c4803a 100644
--- a/test/core/src/lombok/AbstractRunTests.java
+++ b/test/core/src/lombok/AbstractRunTests.java
@@ -26,6 +26,7 @@ import static org.junit.Assert.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.StringReader;
@@ -35,6 +36,11 @@ import java.util.List;
public abstract class AbstractRunTests {
protected static final String LINE_SEPARATOR = System.getProperty("line.separator");
+ private final File dumpActualFilesHere;
+
+ public AbstractRunTests() {
+ this.dumpActualFilesHere = findPlaceToDumpActualFiles();
+ }
public boolean compareFile(DirectoryRunner.TestParams params, File file) throws Throwable {
StringBuilder messages = new StringBuilder();
@@ -82,6 +88,25 @@ public abstract class AbstractRunTests {
return readFile(new File(dir, file.getName() + (messages ? ".messages" : "")));
}
+ private static File findPlaceToDumpActualFiles() {
+ String location = System.getProperty("lombok.tests.dump_actual_files");
+ if (location != null) {
+ File dumpActualFilesHere = new File(location);
+ dumpActualFilesHere.mkdirs();
+ return dumpActualFilesHere;
+ }
+ return null;
+ }
+
+ private static void dumpToFile(File file, String content) throws IOException {
+ FileOutputStream fos = new FileOutputStream(file);
+ try {
+ fos.write(content.getBytes("UTF-8"));
+ } finally {
+ fos.close();
+ }
+ }
+
private void compare(String name, String expectedFile, String actualFile, String expectedMessages, String actualMessages, boolean printErrors) throws Throwable {
try {
compareContent(name, expectedFile, actualFile);
@@ -99,6 +124,9 @@ public abstract class AbstractRunTests {
}
System.out.println("*******************");
}
+ if (dumpActualFilesHere != null) {
+ dumpToFile(new File(dumpActualFilesHere, name), actualFile);
+ }
throw e;
}
try {
@@ -113,6 +141,9 @@ public abstract class AbstractRunTests {
System.out.println(actualMessages);
System.out.println("*******************");
}
+ if (dumpActualFilesHere != null) {
+ dumpToFile(new File(dumpActualFilesHere, name + ".messages"), actualMessages);
+ }
throw e;
}
}
diff --git a/test/transform/resource/after-delombok/ConflictingStaticConstructorNames.java b/test/transform/resource/after-delombok/ConflictingStaticConstructorNames.java
new file mode 100644
index 00000000..172ed298
--- /dev/null
+++ b/test/transform/resource/after-delombok/ConflictingStaticConstructorNames.java
@@ -0,0 +1,29 @@
+class ConflictingStaticConstructorNames {
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof ConflictingStaticConstructorNames)) return false;
+ final ConflictingStaticConstructorNames other = (ConflictingStaticConstructorNames)o;
+ if (!other.canEqual((java.lang.Object)this)) return false;
+ return true;
+ }
+ @java.lang.SuppressWarnings("all")
+ public boolean canEqual(final java.lang.Object other) {
+ return other instanceof ConflictingStaticConstructorNames;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ int result = 1;
+ return result;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "ConflictingStaticConstructorNames()";
+ }
+ @java.lang.SuppressWarnings("all")
+ public ConflictingStaticConstructorNames() {
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/Constructors.java b/test/transform/resource/after-delombok/Constructors.java
index db48b6b8..d4633dbc 100644
--- a/test/transform/resource/after-delombok/Constructors.java
+++ b/test/transform/resource/after-delombok/Constructors.java
@@ -58,4 +58,18 @@ class RequiredArgsConstructorStaticNameGenerics<T extends Number> {
public static <T extends Number> RequiredArgsConstructorStaticNameGenerics<T> of(final T x) {
return new RequiredArgsConstructorStaticNameGenerics<T>(x);
}
+}
+class RequiredArgsConstructorStaticNameGenerics2<T extends Number> {
+ final Class<T> x;
+ String name;
+
+ @java.lang.SuppressWarnings("all")
+ private RequiredArgsConstructorStaticNameGenerics2(final Class<T> x) {
+ this.x = x;
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public static <T extends Number> RequiredArgsConstructorStaticNameGenerics2<T> of(final Class<T> x) {
+ return new RequiredArgsConstructorStaticNameGenerics2<T>(x);
+ }
} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/DataPlain.java b/test/transform/resource/after-delombok/DataPlain.java
index cb002e07..a8cb37af 100644
--- a/test/transform/resource/after-delombok/DataPlain.java
+++ b/test/transform/resource/after-delombok/DataPlain.java
@@ -155,7 +155,6 @@ final class Data3 {
final class Data4 extends java.util.Timer {
int x;
Data4() {
- super();
}
@java.lang.SuppressWarnings("all")
public int getX() {
diff --git a/test/transform/resource/after-delombok/ExtensionMethodPlain.java b/test/transform/resource/after-delombok/ExtensionMethodPlain.java
new file mode 100644
index 00000000..707a0258
--- /dev/null
+++ b/test/transform/resource/after-delombok/ExtensionMethodPlain.java
@@ -0,0 +1,17 @@
+class ExtensionMethodPlain {
+ public String test() {
+ int[] intArray = {5, 3, 8, 2};
+ java.util.Arrays.sort(intArray);
+ String iAmNull = null;
+ return ExtensionMethodPlain.Extensions.or(iAmNull, ExtensionMethodPlain.Extensions.toTitleCase("hELlO, WORlD!"));
+ }
+ static class Extensions {
+ public static <T> T or(T obj, T ifNull) {
+ return obj != null ? obj : ifNull;
+ }
+ public static String toTitleCase(String in) {
+ if (in.isEmpty()) return in;
+ return "" + Character.toTitleCase(in.charAt(0)) + in.substring(1).toLowerCase();
+ }
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/SneakyThrowsPlain.java b/test/transform/resource/after-delombok/SneakyThrowsPlain.java
index 5c0890b5..f712ab55 100644
--- a/test/transform/resource/after-delombok/SneakyThrowsPlain.java
+++ b/test/transform/resource/after-delombok/SneakyThrowsPlain.java
@@ -1,6 +1,5 @@
class SneakyThrowsPlain {
SneakyThrowsPlain() {
- super();
try {
System.out.println("constructor");
} catch (final java.lang.Throwable $ex) {
diff --git a/test/transform/resource/after-delombok/SynchronizedName.java b/test/transform/resource/after-delombok/SynchronizedName.java
index e7dd23ff..ab3c0431 100644
--- a/test/transform/resource/after-delombok/SynchronizedName.java
+++ b/test/transform/resource/after-delombok/SynchronizedName.java
@@ -1,19 +1,12 @@
class SynchronizedName {
private Object read = new Object();
private static Object READ = new Object();
+
void test1() {
synchronized (this.read) {
System.out.println("one");
}
}
- void test2() {
- System.out.println("two");
- }
- static void test3() {
- synchronized (SynchronizedName.read) {
- System.out.println("three");
- }
- }
void test4() {
synchronized (this.READ) {
System.out.println("four");
@@ -24,4 +17,4 @@ class SynchronizedName {
System.out.println("five");
}
}
-}
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/SynchronizedNameNoSuchField.java b/test/transform/resource/after-delombok/SynchronizedNameNoSuchField.java
new file mode 100644
index 00000000..d252985f
--- /dev/null
+++ b/test/transform/resource/after-delombok/SynchronizedNameNoSuchField.java
@@ -0,0 +1,7 @@
+class SynchronizedNameNoSuchField {
+ private Object read = new Object();
+ private static Object READ = new Object();
+ void test2() {
+ System.out.println("two");
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-delombok/SynchronizedNameStaticToInstanceRef.java b/test/transform/resource/after-delombok/SynchronizedNameStaticToInstanceRef.java
new file mode 100644
index 00000000..8441570b
--- /dev/null
+++ b/test/transform/resource/after-delombok/SynchronizedNameStaticToInstanceRef.java
@@ -0,0 +1,9 @@
+class SynchronizedNameStaticToInstanceRef {
+ private Object read = new Object();
+ private static Object READ = new Object();
+ static void test3() {
+ synchronized (SynchronizedNameStaticToInstanceRef.read) {
+ System.out.println("three");
+ }
+ }
+} \ No newline at end of file
diff --git a/test/transform/resource/after-ecj/Accessors.java b/test/transform/resource/after-ecj/Accessors.java
index ae7eb0bb..292db928 100644
--- a/test/transform/resource/after-ecj/Accessors.java
+++ b/test/transform/resource/after-ecj/Accessors.java
@@ -1,5 +1,8 @@
class AccessorsFluent {
private @lombok.Getter @lombok.Setter @lombok.experimental.Accessors(fluent = true) String fieldName = "";
+ AccessorsFluent() {
+ super();
+ }
public @java.lang.SuppressWarnings("all") String fieldName() {
return this.fieldName;
}
@@ -7,13 +10,13 @@ class AccessorsFluent {
this.fieldName = fieldName;
return this;
}
- AccessorsFluent() {
- super();
- }
}
@lombok.experimental.Accessors(fluent = true) @lombok.Getter class AccessorsFluentOnClass {
private @lombok.Setter String fieldName = "";
private @lombok.experimental.Accessors String otherFieldWithOverride = "";
+ AccessorsFluentOnClass() {
+ super();
+ }
public @java.lang.SuppressWarnings("all") AccessorsFluentOnClass fieldName(final String fieldName) {
this.fieldName = fieldName;
return this;
@@ -24,45 +27,48 @@ class AccessorsFluent {
public @java.lang.SuppressWarnings("all") String getOtherFieldWithOverride() {
return this.otherFieldWithOverride;
}
- AccessorsFluentOnClass() {
- super();
- }
}
class AccessorsChain {
private @lombok.Setter @lombok.experimental.Accessors(chain = true) boolean isRunning;
+ AccessorsChain() {
+ super();
+ }
public @java.lang.SuppressWarnings("all") AccessorsChain setRunning(final boolean isRunning) {
this.isRunning = isRunning;
return this;
}
- AccessorsChain() {
- super();
- }
}
@lombok.experimental.Accessors(prefix = "f") class AccessorsPrefix {
private @lombok.Setter String fieldName;
private @lombok.Setter String fActualField;
- public @java.lang.SuppressWarnings("all") void setActualField(final String fActualField) {
- this.fActualField = fActualField;
- }
AccessorsPrefix() {
super();
}
+ public @java.lang.SuppressWarnings("all") void setActualField(final String fActualField) {
+ this.fActualField = fActualField;
+ }
}
@lombok.experimental.Accessors(prefix = {"f", ""}) class AccessorsPrefix2 {
private @lombok.Setter String fieldName;
private @lombok.Setter String fActualField;
+ AccessorsPrefix2() {
+ super();
+ }
public @java.lang.SuppressWarnings("all") void setFieldName(final String fieldName) {
this.fieldName = fieldName;
}
public @java.lang.SuppressWarnings("all") void setActualField(final String fActualField) {
this.fActualField = fActualField;
}
- AccessorsPrefix2() {
- super();
- }
}
@lombok.experimental.Accessors(prefix = "f") @lombok.ToString @lombok.EqualsAndHashCode class AccessorsPrefix3 {
private String fName;
+ AccessorsPrefix3() {
+ super();
+ }
+ private String getName() {
+ return fName;
+ }
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
return (("AccessorsPrefix3(fName=" + this.getName()) + ")");
}
@@ -90,40 +96,34 @@ class AccessorsChain {
result = ((result * PRIME) + (($fName == null) ? 0 : $fName.hashCode()));
return result;
}
- AccessorsPrefix3() {
- super();
- }
- private String getName() {
- return fName;
- }
}
class AccessorsFluentGenerics<T extends Number> {
private @lombok.Setter @lombok.experimental.Accessors(fluent = true) String name;
+ AccessorsFluentGenerics() {
+ super();
+ }
public @java.lang.SuppressWarnings("all") AccessorsFluentGenerics<T> name(final String name) {
this.name = name;
return this;
}
- AccessorsFluentGenerics() {
- super();
- }
}
class AccessorsFluentNoChaining {
private @lombok.Setter @lombok.experimental.Accessors(fluent = true,chain = false) String name;
- public @java.lang.SuppressWarnings("all") void name(final String name) {
- this.name = name;
- }
AccessorsFluentNoChaining() {
super();
}
+ public @java.lang.SuppressWarnings("all") void name(final String name) {
+ this.name = name;
+ }
}
class AccessorsFluentStatic<T extends Number> {
private static @lombok.Setter @lombok.experimental.Accessors(fluent = true) String name;
<clinit>() {
}
- public static @java.lang.SuppressWarnings("all") void name(final String name) {
- AccessorsFluentStatic.name = name;
- }
AccessorsFluentStatic() {
super();
}
+ public static @java.lang.SuppressWarnings("all") void name(final String name) {
+ AccessorsFluentStatic.name = name;
+ }
}
diff --git a/test/transform/resource/after-ecj/ClassNamedAfterGetter.java b/test/transform/resource/after-ecj/ClassNamedAfterGetter.java
index fb9df0ea..fdb6f122 100644
--- a/test/transform/resource/after-ecj/ClassNamedAfterGetter.java
+++ b/test/transform/resource/after-ecj/ClassNamedAfterGetter.java
@@ -1,9 +1,9 @@
class GetFoo {
private @lombok.Getter int foo;
- public @java.lang.SuppressWarnings("all") int getFoo() {
- return this.foo;
- }
GetFoo() {
super();
}
+ public @java.lang.SuppressWarnings("all") int getFoo() {
+ return this.foo;
+ }
}