diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-10 14:37:38 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-10 14:37:38 +0100 |
| commit | eadefe2a6b7c06905f90cb6598d877e15a10b7de (patch) | |
| tree | 0fe7297b6880951a188ad289692c6c6851c0a47b /src/test/java | |
| parent | 18c923db3dce4d6e59b212e2a19f0d087a899622 (diff) | |
Add parsing of Java static method calls
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java | 10 |
1 files changed, 10 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 06331aa..341ee5d 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 @@ -5,6 +5,7 @@ import java.nio.file.Files; import org.junit.Test; import org.zwobble.couscous.ast.ExpressionNode; import org.zwobble.couscous.ast.ReturnNode; +import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.frontends.java.JavaReader; import org.zwobble.couscous.values.BooleanValue; @@ -12,6 +13,7 @@ import static java.util.Arrays.asList; import static org.junit.Assert.assertEquals; import static org.zwobble.couscous.ast.LiteralNode.literal; import static org.zwobble.couscous.ast.MethodCallNode.methodCall; +import static org.zwobble.couscous.ast.StaticMethodCallNode.staticMethodCall; import static org.zwobble.couscous.tests.util.ExtraFiles.deleteRecursively; import lombok.SneakyThrows; @@ -25,12 +27,20 @@ public class JavaReaderTests { assertEquals(literal(false), readExpression("false")); assertEquals(literal(42), readExpression("42")); } + @Test public void canReadInstanceMethodCalls() { assertEquals( methodCall(literal("hello"), "startsWith", asList(literal("h")), BooleanValue.REF), readExpression("\"hello\".startsWith(\"h\")")); } + + @Test + public void canReadStaticMethodCalls() { + assertEquals( + staticMethodCall(TypeName.of("java.lang.Integer"), "parseInt", asList(literal("42"))), + readExpression("Integer.parseInt(\"42\")")); + } @SneakyThrows private ExpressionNode readExpression(String expressionSource) { |
