From 2d24979f47af2027de780fc956fa37829edafe40 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 13 Feb 2016 14:36:16 +0000 Subject: Read instance initializers --- .../tests/frontends/java/JavaReaderTests.java | 31 +++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'src/test') 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 {" + -- cgit v1.2.3