From 2353887c3cca9a6f4c4bdf6a0005c2d4bd630601 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 12 Oct 2015 20:53:27 +0100 Subject: Support Java assignment nodes --- .../tests/frontends/java/JavaReaderTests.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/test/java') 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 57bcaeb..0864b74 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 @@ -15,6 +15,7 @@ import org.zwobble.couscous.values.StringValue; import static java.util.Arrays.asList; import static org.junit.Assert.assertEquals; +import static org.zwobble.couscous.ast.AssignmentNode.assign; import static org.zwobble.couscous.ast.ConstructorCallNode.constructorCall; import static org.zwobble.couscous.ast.FieldAccessNode.fieldAccess; import static org.zwobble.couscous.ast.LiteralNode.literal; @@ -112,6 +113,25 @@ public class JavaReaderTests { new TernaryConditionalNode(literal(true), literal(1), literal(2)), readExpression("true ? 1 : 2")); } + + @Test + public void canReadAssignments() { + val classNode = readClass( + "private String name;" + + "public String getName() {" + + " return name = \"blah\";" + + "}"); + + val returnNode = (ReturnNode) classNode.getMethods().get(0).getBody().get(0); + assertEquals( + assign( + fieldAccess( + thisReference(TypeName.of("com.example.Example")), + "name", + StringValue.REF), + literal("blah")), + returnNode.getValue()); + } @SneakyThrows private ExpressionNode readExpressionInInstanceMethod(String expressionSource) { -- cgit v1.2.3