diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2017-03-22 23:32:28 +0100 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2017-03-22 23:32:28 +0100 |
commit | 3b1792c39701fad8a8abc8d0d508b90ab2832e05 (patch) | |
tree | 0ad9e05d2fbc8f8603b3f86e445ec66d1386b9fb /test/transform | |
parent | 11fdfb56f735dde042aebd9be6e4b488edfa0d84 (diff) | |
download | lombok-3b1792c39701fad8a8abc8d0d508b90ab2832e05.tar.gz lombok-3b1792c39701fad8a8abc8d0d508b90ab2832e05.tar.bz2 lombok-3b1792c39701fad8a8abc8d0d508b90ab2832e05.zip |
Added tests to check warnings/errors emitted by Builder.Default support.
Diffstat (limited to 'test/transform')
5 files changed, 141 insertions, 10 deletions
diff --git a/test/transform/resource/after-delombok/BuilderDefaultsWarnings.java b/test/transform/resource/after-delombok/BuilderDefaultsWarnings.java index e8247f52..ccc39a9e 100644 --- a/test/transform/resource/after-delombok/BuilderDefaultsWarnings.java +++ b/test/transform/resource/after-delombok/BuilderDefaultsWarnings.java @@ -2,11 +2,13 @@ public class BuilderDefaultsWarnings { long x = System.currentTimeMillis(); final int y = 5; int z; + java.util.List<String> items; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - BuilderDefaultsWarnings(final long x, final int z) { + BuilderDefaultsWarnings(final long x, final int z, final java.util.List<String> items) { this.x = x; this.z = z; + this.items = items; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") @@ -19,6 +21,9 @@ public class BuilderDefaultsWarnings { private int z; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") + private java.util.ArrayList<String> items; + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder() { } @java.lang.SuppressWarnings("all") @@ -35,14 +40,45 @@ public class BuilderDefaultsWarnings { } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") + public BuilderDefaultsWarningsBuilder item(final String item) { + if (this.items == null) this.items = new java.util.ArrayList<String>(); + this.items.add(item); + return this; + } + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") + public BuilderDefaultsWarningsBuilder items(final java.util.Collection<? extends String> items) { + if (this.items == null) this.items = new java.util.ArrayList<String>(); + this.items.addAll(items); + return this; + } + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") + public BuilderDefaultsWarningsBuilder clearItems() { + if (this.items != null) this.items.clear(); + return this; + } + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") public BuilderDefaultsWarnings build() { - return new BuilderDefaultsWarnings(x, z); + java.util.List<String> items; + switch (this.items == null ? 0 : this.items.size()) { + case 0: + items = java.util.Collections.emptyList(); + break; + case 1: + items = java.util.Collections.singletonList(this.items.get(0)); + break; + default: + items = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(this.items)); + } + return new BuilderDefaultsWarnings(x, z, items); } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { - return "BuilderDefaultsWarnings.BuilderDefaultsWarningsBuilder(x=" + this.x + ", z=" + this.z + ")"; + return "BuilderDefaultsWarnings.BuilderDefaultsWarningsBuilder(x=" + this.x + ", z=" + this.z + ", items=" + this.items + ")"; } } @java.lang.SuppressWarnings("all") @@ -51,3 +87,32 @@ public class BuilderDefaultsWarnings { return new BuilderDefaultsWarningsBuilder(); } } +class NoBuilderButHasDefaults { + private final long z = 5; + public NoBuilderButHasDefaults() { + } + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") + public static class NoBuilderButHasDefaultsBuilder { + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") + NoBuilderButHasDefaultsBuilder() { + } + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") + public NoBuilderButHasDefaults build() { + return new NoBuilderButHasDefaults(); + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") + public java.lang.String toString() { + return "NoBuilderButHasDefaults.NoBuilderButHasDefaultsBuilder()"; + } + } + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") + public static NoBuilderButHasDefaultsBuilder builder() { + return new NoBuilderButHasDefaultsBuilder(); + } +} diff --git a/test/transform/resource/after-ecj/BuilderDefaultsWarnings.java b/test/transform/resource/after-ecj/BuilderDefaultsWarnings.java index 3b93f046..275d6166 100644 --- a/test/transform/resource/after-ecj/BuilderDefaultsWarnings.java +++ b/test/transform/resource/after-ecj/BuilderDefaultsWarnings.java @@ -1,8 +1,10 @@ import lombok.Builder; +import lombok.Singular; public @Builder class BuilderDefaultsWarnings { public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") class BuilderDefaultsWarningsBuilder { private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") long x; private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") int z; + private @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") java.util.ArrayList<String> items; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder() { super(); } @@ -14,22 +16,72 @@ public @Builder class BuilderDefaultsWarnings { this.z = z; return this; } + public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder item(String item) { + if ((this.items == null)) + this.items = new java.util.ArrayList<String>(); + this.items.add(item); + return this; + } + public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder items(java.util.Collection<? extends String> items) { + if ((this.items == null)) + this.items = new java.util.ArrayList<String>(); + this.items.addAll(items); + return this; + } + public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder clearItems() { + if ((this.items != null)) + this.items.clear(); + return this; + } public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarnings build() { - return new BuilderDefaultsWarnings(x, z); + java.util.List<String> items; + switch (((this.items == null) ? 0 : this.items.size())) { + case 0 : + items = java.util.Collections.emptyList(); + break; + case 1 : + items = java.util.Collections.singletonList(this.items.get(0)); + break; + default : + items = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(this.items)); + } + return new BuilderDefaultsWarnings(x, z, items); } public @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") java.lang.String toString() { - return (((("BuilderDefaultsWarnings.BuilderDefaultsWarningsBuilder(x=" + this.x) + ", z=") + this.z) + ")"); + return (((((("BuilderDefaultsWarnings.BuilderDefaultsWarningsBuilder(x=" + this.x) + ", z=") + this.z) + ", items=") + this.items) + ")"); } } long x = System.currentTimeMillis(); final int y = 5; @Builder.Default int z; - @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarnings(final long x, final int z) { + @Builder.Default @Singular java.util.List<String> items; + @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarnings(final long x, final int z, final java.util.List<String> items) { super(); this.x = x; this.z = z; + this.items = items; } public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") BuilderDefaultsWarningsBuilder builder() { return new BuilderDefaultsWarningsBuilder(); } } +class NoBuilderButHasDefaults { + public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") class NoBuilderButHasDefaultsBuilder { + @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") NoBuilderButHasDefaultsBuilder() { + super(); + } + public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") NoBuilderButHasDefaults build() { + return new NoBuilderButHasDefaults(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") java.lang.String toString() { + return "NoBuilderButHasDefaults.NoBuilderButHasDefaultsBuilder()"; + } + } + private final @Builder.Default long z = 5; + public @Builder NoBuilderButHasDefaults() { + super(); + } + public static @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") NoBuilderButHasDefaultsBuilder builder() { + return new NoBuilderButHasDefaultsBuilder(); + } +}
\ No newline at end of file diff --git a/test/transform/resource/before/BuilderDefaultsWarnings.java b/test/transform/resource/before/BuilderDefaultsWarnings.java index a93f0f17..8ef3dc59 100644 --- a/test/transform/resource/before/BuilderDefaultsWarnings.java +++ b/test/transform/resource/before/BuilderDefaultsWarnings.java @@ -1,8 +1,18 @@ import lombok.Builder; +import lombok.Singular; @Builder public class BuilderDefaultsWarnings { long x = System.currentTimeMillis(); final int y = 5; @Builder.Default int z; + @Builder.Default @Singular java.util.List<String> items; +} + +class NoBuilderButHasDefaults { + @Builder.Default private final long z = 5; + + @Builder + public NoBuilderButHasDefaults() { + } } diff --git a/test/transform/resource/messages-delombok/BuilderDefaultsWarnings.java.messages b/test/transform/resource/messages-delombok/BuilderDefaultsWarnings.java.messages index 5f607134..bbee62be 100644 --- a/test/transform/resource/messages-delombok/BuilderDefaultsWarnings.java.messages +++ b/test/transform/resource/messages-delombok/BuilderDefaultsWarnings.java.messages @@ -1,2 +1,4 @@ -5 @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. if it is not supposed to be settable during building, add @Builder.Constant. -7 @Builder.Default requires an initializing expression (' = something;'). +13 @Builder.Default requires @Builder on the class for it to mean anything. +6 @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. if it is not supposed to be settable during building, add @Builder.Constant. +8 @Builder.Default requires an initializing expression (' = something;'). +9 @Builder.Default and @Singular cannot be mixed. diff --git a/test/transform/resource/messages-ecj/BuilderDefaultsWarnings.java.messages b/test/transform/resource/messages-ecj/BuilderDefaultsWarnings.java.messages index e369db9c..43f1e553 100644 --- a/test/transform/resource/messages-ecj/BuilderDefaultsWarnings.java.messages +++ b/test/transform/resource/messages-ecj/BuilderDefaultsWarnings.java.messages @@ -1,3 +1,5 @@ -5 @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. if it is not supposed to be settable during building, add @Builder.Constant. -7 @Builder.Default requires an initializing expression (' = something;'). +6 @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. if it is not supposed to be settable during building, add @Builder.Constant. +8 @Builder.Default requires an initializing expression (' = something;'). +9 @Builder.Default and @Singular cannot be mixed. +13 @Builder.Default requires @Builder on the class for it to mean anything. |