diff options
author | Jan Rieke <rieke@subshell.com> | 2017-03-13 16:49:20 +0100 |
---|---|---|
committer | Jan Rieke <rieke@subshell.com> | 2017-03-13 16:49:20 +0100 |
commit | 2346b15c8d2809b6efa9fc94f4f6cc56dcaa54b8 (patch) | |
tree | 238b9877ce1daa83b3e8d422eb4d2f7ab89f3864 /test/core/src/lombok/LombokTestSource.java | |
parent | f51bbce3e396a0151bc0242d00e250f2bc720316 (diff) | |
parent | a2c10c70fa8e2c8736464a5c3d445e2ca6e8a296 (diff) | |
download | lombok-2346b15c8d2809b6efa9fc94f4f6cc56dcaa54b8.tar.gz lombok-2346b15c8d2809b6efa9fc94f4f6cc56dcaa54b8.tar.bz2 lombok-2346b15c8d2809b6efa9fc94f4f6cc56dcaa54b8.zip |
Merge remote-tracking branch 'upstream/master'
# Conflicts:
# src/core/lombok/eclipse/handlers/HandleBuilder.java
# src/core/lombok/eclipse/handlers/HandleConstructor.java
# src/core/lombok/javac/handlers/HandleBuilder.java
# src/core/lombok/javac/handlers/HandleConstructor.java
Diffstat (limited to 'test/core/src/lombok/LombokTestSource.java')
-rw-r--r-- | test/core/src/lombok/LombokTestSource.java | 18 |
1 files changed, 18 insertions, 0 deletions
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 + ")"); |