diff options
Diffstat (limited to 'test')
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() { + |
