1
package org.python.pydev.parser.visitors;
3
import java.util.Iterator;
5
import org.python.pydev.parser.PyParserTestBase;
6
import org.python.pydev.parser.visitors.scope.ASTEntry;
7
import org.python.pydev.parser.visitors.scope.SequencialASTIteratorVisitor;
9
public class NodeUtilsTest extends PyParserTestBase {
11
public static void main(String[] args) {
12
junit.textui.TestRunner.run(NodeUtilsTest.class);
15
public void testFullRep() throws Exception {
16
SequencialASTIteratorVisitor visitor = SequencialASTIteratorVisitor.create(parseLegalDocStr(
17
"print a.b.c().d.__class__"));
19
Iterator<ASTEntry> iterator = visitor.getIterator();
20
iterator.next(); //Module
21
iterator.next(); //Print
22
ASTEntry entry = iterator.next(); //Attribute
23
assertEquals("a.b.c", NodeUtils.getFullRepresentationString(entry.node));
26
visitor = SequencialASTIteratorVisitor.create(parseLegalDocStr(
27
"'r.a.s.b'.join('a')"));
28
iterator = visitor.getIterator();
29
iterator.next(); //Module
30
iterator.next(); //Expr
31
entry = iterator.next(); //Attribute
32
assertEquals("str.join", NodeUtils.getFullRepresentationString(entry.node));
34
visitor = SequencialASTIteratorVisitor.create(parseLegalDocStr(
35
"print aa.bbb.cccc[comp.id].hasSimulate"));
36
iterator = visitor.getIterator();
37
iterator.next(); //Module
38
iterator.next(); //Expr
39
entry = iterator.next(); //Attribute
40
assertEquals("aa.bbb.cccc", NodeUtils.getFullRepresentationString(entry.node));