/** * Copyright (c) 2005-2012 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package com.python.pydev.refactoring.wizards.rename.visitors; import org.python.pydev.parser.PyParserTestBase; import org.python.pydev.parser.jython.ast.Call; import org.python.pydev.parser.jython.ast.ClassDef; import org.python.pydev.parser.jython.ast.Expr; import org.python.pydev.parser.jython.ast.FunctionDef; import org.python.pydev.parser.jython.ast.Module; import org.python.pydev.parser.jython.ast.Name; public class FindCallVisitorTest extends PyParserTestBase { public static void main(String[] args) { try { // FindCallVisitorTest test = new FindCallVisitorTest(); // test.setUp(); // test.testRename1(); // test.tearDown(); junit.textui.TestRunner.run(FindCallVisitorTest.class); } catch (Throwable e) { e.printStackTrace(); } } public void testFindCallVisitor() throws Exception { String s = "" + "from methoddef import Method1\n" + "Method1(10, param2=20)\n" + "Method1(param1=10, param2=20)\n" + ""; Module root = (Module) parseLegalDocStr(s); Expr expr = (Expr) root.body[1]; Call call = (Call) expr.value; Name name = (Name) call.func; FindCallVisitor visitor = new FindCallVisitor(name); visitor.traverse(root); assertSame(call, visitor.getCall()); assertSame(call, FindCallVisitor.findCall(name, root)); } public void testFindCallVisitor2() throws Exception { String s = "" + "class c:\n" + " def m(self):\n" + " Method1(10, param2=20)\n" + " Method1(param1=10, param2=20)\n" + ""; Module root = (Module) parseLegalDocStr(s); ClassDef classDef = (ClassDef) root.body[0]; FunctionDef funcDef = (FunctionDef) classDef.body[0]; Expr expr = (Expr) funcDef.body[1]; Call call = (Call) expr.value; Name name = (Name) call.func; FindCallVisitor visitor = new FindCallVisitor(name); visitor.traverse(root); assertSame(call, visitor.getCall()); assertSame(call, FindCallVisitor.findCall(name, root)); } }