aboutsummaryrefslogtreecommitdiff
path: root/javaparser-testing
diff options
context:
space:
mode:
authorDanny van Bruggen <hexagonaal@gmail.com>2017-09-18 21:12:16 +0200
committerDanny van Bruggen <hexagonaal@gmail.com>2017-09-18 21:12:16 +0200
commit47fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93 (patch)
treee54caabe8959e76f87f8ec7dcdda3d01ddc86818 /javaparser-testing
parent06ccb38cbf92ff862306abf67619ddd24c9cec90 (diff)
downloadjavaparser-47fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93.tar.gz
Make scopes generally traversable.
Diffstat (limited to 'javaparser-testing')
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/ast/nodeTypes/NodeWithTraversableScopeTest.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/javaparser-testing/src/test/java/com/github/javaparser/ast/nodeTypes/NodeWithTraversableScopeTest.java b/javaparser-testing/src/test/java/com/github/javaparser/ast/nodeTypes/NodeWithTraversableScopeTest.java
new file mode 100644
index 000000000..59aaf4e63
--- /dev/null
+++ b/javaparser-testing/src/test/java/com/github/javaparser/ast/nodeTypes/NodeWithTraversableScopeTest.java
@@ -0,0 +1,23 @@
+package com.github.javaparser.ast.nodeTypes;
+
+import com.github.javaparser.ast.expr.FieldAccessExpr;
+import com.github.javaparser.ast.expr.MethodCallExpr;
+import org.junit.Test;
+
+import static com.github.javaparser.JavaParser.parseExpression;
+import static com.github.javaparser.utils.TestUtils.assertInstanceOf;
+import static org.junit.Assert.assertFalse;
+
+public class NodeWithTraversableScopeTest {
+ @Test
+ public void traverse1() {
+ NodeWithTraversableScope expression = parseExpression("getAddress().name.startsWith(\"abc\")");
+
+ assertInstanceOf(MethodCallExpr.class, expression);
+ expression = (NodeWithTraversableScope) expression.traverseScope().get();
+ assertInstanceOf(FieldAccessExpr.class, expression);
+ expression = (NodeWithTraversableScope) expression.traverseScope().get();
+ assertInstanceOf(MethodCallExpr.class, expression);
+ assertFalse(expression.traverseScope().isPresent());
+ }
+}