aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-13 14:36:16 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-13 14:36:16 +0000
commit2d24979f47af2027de780fc956fa37829edafe40 (patch)
tree294ad60501120e22e425af9ae66a276b1f636c6a /src/test
parent0102779512e4475a32c95f0d84d704bcef7d38fe (diff)
Read instance initializers
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
index 84a4ea7..49ce07e 100644
--- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
@@ -649,7 +649,36 @@ public class JavaReaderTests {
}
@Test
- public void canDeclareStaticConstructor() {
+ public void instanceInitializerIsPrependedToConstructor() {
+ ClassNode classNode = readClass(
+ "private final String name;" +
+ "private final int year;" +
+ "public Example() {" +
+ " this.name = \"Flaws\";" +
+ "}" +
+ "{ year = 2013; }");
+
+ ConstructorNode constructor = classNode.getConstructor();
+
+ assertEquals(
+ list(
+ assignStatement(
+ fieldAccess(
+ thisReference(TypeName.of("com.example.Example")),
+ "year",
+ IntegerValue.REF),
+ literal(2013)),
+ assignStatement(
+ fieldAccess(
+ thisReference(TypeName.of("com.example.Example")),
+ "name",
+ StringValue.REF),
+ literal("Flaws"))),
+ constructor.getBody());
+ }
+
+ @Test
+ public void canDeclareStaticInitializer() {
ClassNode classNode = readClass(
"private static final String name;" +
"static {" +