aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/core/src/lombok/AbstractRunTests.java21
-rw-r--r--test/core/src/lombok/DirectoryRunner.java4
-rw-r--r--test/core/src/lombok/LombokTestSource.java18
-rw-r--r--test/core/src/lombok/core/TestSingulars.java20
-rw-r--r--test/transform/resource/after-delombok/BuilderChainAndFluent.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderDefaults.java130
-rw-r--r--test/transform/resource/after-delombok/BuilderDefaultsWarnings.java119
-rw-r--r--test/transform/resource/after-delombok/BuilderSimple.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderSingularGuavaListsSets.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderSingularGuavaMaps.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderSingularLists.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderSingularMaps.java9
-rw-r--r--test/transform/resource/after-delombok/BuilderSingularNoAuto.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderSingularRedirectToGuava.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderSingularSets.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderSingularWithPrefixes.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderWithAccessors.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderWithDeprecated.java130
-rw-r--r--test/transform/resource/after-delombok/BuilderWithRecursiveGenerics.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderWithToBuilder.java1
-rw-r--r--test/transform/resource/after-delombok/BuilderWithTolerate.java13
-rw-r--r--test/transform/resource/after-delombok/Constructors.java4
-rw-r--r--test/transform/resource/after-delombok/ConstructorsConfiguration.java9
-rw-r--r--test/transform/resource/after-delombok/ConstructorsWithAccessors.java33
-rw-r--r--test/transform/resource/after-delombok/DataConfiguration.java6
-rw-r--r--test/transform/resource/after-delombok/DataOnEnum.java1
-rw-r--r--test/transform/resource/after-delombok/EqualsAndHashCodeConfigKeys2.java24
-rw-r--r--test/transform/resource/after-delombok/GetterEnum.java1
-rw-r--r--test/transform/resource/after-delombok/OnXJava7Style.java43
-rw-r--r--test/transform/resource/after-delombok/OnXJava8Style.java43
-rw-r--r--test/transform/resource/after-ecj/BuilderChainAndFluent.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderDefaults.java90
-rw-r--r--test/transform/resource/after-ecj/BuilderDefaultsWarnings.java87
-rw-r--r--test/transform/resource/after-ecj/BuilderSimple.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderSingularGuavaListsSets.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderSingularGuavaMaps.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderSingularLists.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderSingularMaps.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderSingularNoAuto.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderSingularRedirectToGuava.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderSingularSets.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderSingularWithPrefixes.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderWithAccessors.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderWithDeprecated.java87
-rw-r--r--test/transform/resource/after-ecj/BuilderWithRecursiveGenerics.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderWithToBuilder.java2
-rw-r--r--test/transform/resource/after-ecj/BuilderWithTolerate.java2
-rw-r--r--test/transform/resource/after-ecj/Constructors.java8
-rw-r--r--test/transform/resource/after-ecj/ConstructorsConfiguration.java7
-rw-r--r--test/transform/resource/after-ecj/ConstructorsWithAccessors.java29
-rw-r--r--test/transform/resource/after-ecj/DataConfiguration.java6
-rw-r--r--test/transform/resource/after-ecj/DataOnEnum.java2
-rw-r--r--test/transform/resource/after-ecj/EqualsAndHashCodeConfigKeys2.java22
-rw-r--r--test/transform/resource/after-ecj/GetterEnum.java2
-rw-r--r--test/transform/resource/after-ecj/OnXJava7Style.java31
-rw-r--r--test/transform/resource/after-ecj/OnXJava7StyleOn8.java31
-rw-r--r--test/transform/resource/after-ecj/OnXJava8Style.java31
-rw-r--r--test/transform/resource/after-ecj/OnXJava8StyleOn7.java31
-rw-r--r--test/transform/resource/before/BuilderDefaults.java9
-rw-r--r--test/transform/resource/before/BuilderDefaultsWarnings.java18
-rw-r--r--test/transform/resource/before/BuilderWithDeprecated.java11
-rw-r--r--test/transform/resource/before/ConstructorsConfiguration.java4
-rw-r--r--test/transform/resource/before/ConstructorsWithAccessors.java8
-rw-r--r--test/transform/resource/before/DataConfiguration.java2
-rw-r--r--test/transform/resource/before/EqualsAndHashCodeConfigKeys2.java4
-rw-r--r--test/transform/resource/before/GetterOnMethodErrors2.java1
-rw-r--r--test/transform/resource/before/OnXJava7Style.java16
-rw-r--r--test/transform/resource/before/OnXJava7StyleOn8.java18
-rw-r--r--test/transform/resource/before/OnXJava8Style.java16
-rw-r--r--test/transform/resource/before/OnXJava8StyleOn7.java18
-rw-r--r--test/transform/resource/messages-delombok/BuilderDefaultsWarnings.java.messages4
-rw-r--r--test/transform/resource/messages-delombok/GetterOnMethodErrors2.java.messages8
-rw-r--r--test/transform/resource/messages-ecj/BuilderDefaultsWarnings.java.messages5
-rw-r--r--test/transform/resource/messages-ecj/GetterOnMethodErrors2.java.messages8
74 files changed, 1182 insertions, 100 deletions
diff --git a/test/core/src/lombok/AbstractRunTests.java b/test/core/src/lombok/AbstractRunTests.java
index 934c74c0..1a454585 100644
--- a/test/core/src/lombok/AbstractRunTests.java
+++ b/test/core/src/lombok/AbstractRunTests.java
@@ -55,16 +55,15 @@ public abstract class AbstractRunTests {
this.dumpActualFilesHere = findPlaceToDumpActualFiles();
}
- public final FileTester createTester(final DirectoryRunner.TestParams params, final File file, int version) throws IOException {
+ public final FileTester createTester(final DirectoryRunner.TestParams params, final File file, String platform, int version) throws IOException {
ConfigurationKeysLoader.LoaderLoader.loadAllConfigurationKeys();
AssertionError directiveFailure = null;
LombokTestSource sourceDirectives = null;
try {
sourceDirectives = LombokTestSource.readDirectives(file);
if (sourceDirectives.isIgnore()) return null;
- if (!sourceDirectives.versionWithinLimit(params.getVersion())) return null;
- if (!sourceDirectives.versionWithinLimit(getClasspathVersion())) return null;
if (!sourceDirectives.versionWithinLimit(version)) return null;
+ if (!sourceDirectives.runOnPlatform(platform)) return null;
} catch (AssertionError ae) {
directiveFailure = ae;
}
@@ -100,22 +99,6 @@ public abstract class AbstractRunTests {
};
}
- private static int getClasspathVersion() {
- try {
- Class.forName("java.lang.AutoCloseable");
- } catch (ClassNotFoundException e) {
- return 6;
- }
-
- try {
- Class.forName("java.util.stream.Stream");
- } catch (ClassNotFoundException e) {
- return 7;
- }
-
- return 8;
- }
-
protected abstract boolean transformCode(Collection<CompilerMessage> messages, StringWriter result, File file, String encoding, Map<String, String> formatPreferences) throws Throwable;
protected String readFile(File file) throws IOException {
diff --git a/test/core/src/lombok/DirectoryRunner.java b/test/core/src/lombok/DirectoryRunner.java
index c9a5de31..72f01de1 100644
--- a/test/core/src/lombok/DirectoryRunner.java
+++ b/test/core/src/lombok/DirectoryRunner.java
@@ -157,9 +157,9 @@ public class DirectoryRunner extends Runner {
File file = new File(params.getBeforeDirectory(), fileName);
switch (params.getCompiler()) {
case DELOMBOK:
- return new RunTestsViaDelombok().createTester(params, file, params.getVersion());
+ return new RunTestsViaDelombok().createTester(params, file, "javac", params.getVersion());
case ECJ:
- return new RunTestsViaEcj().createTester(params, file, params.getVersion());
+ return new RunTestsViaEcj().createTester(params, file, "ecj", params.getVersion());
default:
case JAVAC:
throw new UnsupportedOperationException();
diff --git a/test/core/src/lombok/LombokTestSource.java b/test/core/src/lombok/LombokTestSource.java
index 16f9f49f..31f7db3e 100644
--- a/test/core/src/lombok/LombokTestSource.java
+++ b/test/core/src/lombok/LombokTestSource.java
@@ -29,6 +29,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -55,7 +56,14 @@ public class LombokTestSource {
private final int versionLowerLimit, versionUpperLimit;
private final ConfigurationResolver configuration;
private final String specifiedEncoding;
+ private final List<String> platforms;
+ public boolean runOnPlatform(String platform) {
+ if (platforms == null || platforms.isEmpty()) return true;
+ for (String pl : platforms) if (pl.equalsIgnoreCase(platform)) return true;
+ return false;
+ }
+
public boolean versionWithinLimit(int version) {
return version >= versionLowerLimit && version <= versionUpperLimit;
}
@@ -145,6 +153,7 @@ public class LombokTestSource {
boolean unchanged = false;
String encoding = null;
Map<String, String> formats = new HashMap<String, String>();
+ String[] platformLimit = null;
for (String directive : directives) {
directive = directive.trim();
@@ -164,6 +173,14 @@ public class LombokTestSource {
continue;
}
+ if (lc.startsWith("platform ")) {
+ String platformDesc = lc.substring("platform ".length());
+ int idx = platformDesc.indexOf(':');
+ if (idx != -1) platformDesc = platformDesc.substring(0, idx).trim();
+ platformLimit = platformDesc.split("\\s*,\\s*");
+ continue;
+ }
+
if (lc.startsWith("version ")) {
int[] limits = parseVersionLimit(lc.substring(7).trim());
if (limits == null) {
@@ -207,6 +224,7 @@ public class LombokTestSource {
this.ignore = ignore;
this.skipCompareContent = skipCompareContent;
this.unchanged = unchanged;
+ this.platforms = platformLimit == null ? null : Arrays.asList(platformLimit);
ConfigurationProblemReporter reporter = new ConfigurationProblemReporter() {
@Override public void report(String sourceDescription, String problem, int lineNumber, CharSequence line) {
Assert.fail("Problem on directive line: " + problem + " at conf line #" + lineNumber + " (" + line + ")");
diff --git a/test/core/src/lombok/core/TestSingulars.java b/test/core/src/lombok/core/TestSingulars.java
index 1134af08..4560615d 100644
--- a/test/core/src/lombok/core/TestSingulars.java
+++ b/test/core/src/lombok/core/TestSingulars.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015 The Project Lombok Authors.
+ * Copyright (C) 2015-2017 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -22,31 +22,35 @@
package lombok.core;
import static lombok.core.handlers.Singulars.autoSingularize;
-import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.*;
import org.junit.Test;
public class TestSingulars {
@Test
public void testSingulars() {
- assertEquals(null, autoSingularize("axes"));
+ assertNull("axes", autoSingularize("axes"));
assertEquals("adjective", autoSingularize("adjectives"));
assertEquals("bus", autoSingularize("buses"));
assertEquals("octopus", autoSingularize("octopodes"));
- assertEquals(null, autoSingularize("octopi"));
+ assertNull("octopi", autoSingularize("octopi"));
assertEquals("elf", autoSingularize("elves"));
assertEquals("jack", autoSingularize("jacks"));
assertEquals("colloquy", autoSingularize("colloquies"));
- assertEquals(null, autoSingularize("series"));
+ assertNull("series", autoSingularize("series"));
assertEquals("man", autoSingularize("men"));
- assertEquals(null, autoSingularize("highwaymen"));
+ assertNull("highwaymen", autoSingularize("highwaymen"));
assertEquals("caveMan", autoSingularize("caveMen"));
- assertEquals(null, autoSingularize("jackss"));
- assertEquals(null, autoSingularize("virus"));
+ assertNull("jackss", autoSingularize("jackss"));
+ assertNull("virus", autoSingularize("virus"));
assertEquals("quiz", autoSingularize("quizzes"));
assertEquals("database", autoSingularize("databases"));
assertEquals("dataBase", autoSingularize("dataBases"));
assertEquals("Query", autoSingularize("Queries"));
assertEquals("Movie", autoSingularize("Movies"));
+ assertEquals("cafe", autoSingularize("cafes"));
+ assertNull("caves", autoSingularize("caves"));
+ assertEquals("leaf", autoSingularize("leaves"));
+ assertEquals("autosave", autoSingularize("autosaves"));
}
}
diff --git a/test/transform/resource/after-delombok/BuilderChainAndFluent.java b/test/transform/resource/after-delombok/BuilderChainAndFluent.java
index 2475a998..9a93ab7d 100644
--- a/test/transform/resource/after-delombok/BuilderChainAndFluent.java
+++ b/test/transform/resource/after-delombok/BuilderChainAndFluent.java
@@ -1,5 +1,6 @@
class BuilderChainAndFluent {
private final int yes;
+ @java.beans.ConstructorProperties({"yes"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
BuilderChainAndFluent(final int yes) {
diff --git a/test/transform/resource/after-delombok/BuilderDefaults.java b/test/transform/resource/after-delombok/BuilderDefaults.java
new file mode 100644
index 00000000..475b7558
--- /dev/null
+++ b/test/transform/resource/after-delombok/BuilderDefaults.java
@@ -0,0 +1,130 @@
+public final class BuilderDefaults {
+ private final int x;
+ private final String name;
+ private final long z;
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ private static int $default$x() {
+ return 10;
+ }
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ private static long $default$z() {
+ return System.currentTimeMillis();
+ }
+ @java.beans.ConstructorProperties({"x", "name", "z"})
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ BuilderDefaults(final int x, final String name, final long z) {
+ this.x = x;
+ this.name = name;
+ this.z = z;
+ }
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public static class BuilderDefaultsBuilder {
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ private boolean x$set;
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ private int x;
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ private String name;
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ private boolean z$set;
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ private long z;
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ BuilderDefaultsBuilder() {
+ }
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public BuilderDefaultsBuilder x(final int x) {
+ this.x = x;
+ x$set = true;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public BuilderDefaultsBuilder name(final String name) {
+ this.name = name;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public BuilderDefaultsBuilder z(final long z) {
+ this.z = z;
+ z$set = true;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public BuilderDefaults build() {
+ return new BuilderDefaults(x$set ? x : BuilderDefaults.$default$x(), name, z$set ? z : BuilderDefaults.$default$z());
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public java.lang.String toString() {
+ return "BuilderDefaults.BuilderDefaultsBuilder(x=" + this.x + ", name=" + this.name + ", z=" + this.z + ")";
+ }
+ }
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public static BuilderDefaultsBuilder builder() {
+ return new BuilderDefaultsBuilder();
+ }
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public int getX() {
+ return this.x;
+ }
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public String getName() {
+ return this.name;
+ }
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public long getZ() {
+ return this.z;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof BuilderDefaults)) return false;
+ final BuilderDefaults other = (BuilderDefaults) o;
+ if (this.getX() != other.getX()) return false;
+ final java.lang.Object this$name = this.getName();
+ final java.lang.Object other$name = other.getName();
+ if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
+ if (this.getZ() != other.getZ()) return false;
+ return true;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = result * PRIME + this.getX();
+ final java.lang.Object $name = this.getName();
+ result = result * PRIME + ($name == null ? 43 : $name.hashCode());
+ final long $z = this.getZ();
+ result = result * PRIME + (int) ($z >>> 32 ^ $z);
+ return result;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ @javax.annotation.Generated("lombok")
+ public java.lang.String toString() {
+