From 47fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93 Mon Sep 17 00:00:00 2001 From: Danny van Bruggen Date: Mon, 18 Sep 2017 21:12:16 +0200 Subject: Make scopes generally traversable. --- .../nodeTypes/NodeWithTraversableScopeTest.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 javaparser-testing/src/test/java/com/github/javaparser/ast/nodeTypes/NodeWithTraversableScopeTest.java (limited to 'javaparser-testing') 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()); + } +} -- cgit v1.2.3