aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-12 20:53:27 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-12 20:53:27 +0100
commit2353887c3cca9a6f4c4bdf6a0005c2d4bd630601 (patch)
tree56f0ce147d516387ac2c85615022c8fc316d01ae /src/test
parentc35c7890249860ea38c4f1324c57cde9ae6afe88 (diff)
Support Java assignment nodes
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java20
1 files changed, 20 insertions, 0 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 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) {