def finds_a_module_from_an_fromstar(self): src = dedent(""" from foo import * """) srcfile = self.t.create_module("mymodule", src) foofile = self.t.create_module("foo", "pass") defn = findDefinitionByCoords(srcfile, 2, 5, []) assert_equal(foofile, defn.filename) assert_equal(0, defn.lineno) assert_equal(0, defn.colno) assert_equal(100, defn.confidence)
def globalScanForNameReferences(name, filename, defnmatch, pythonpath): for sourcenode, linenum, col in _generateCoordsMatchingString(name,filename,pythonpath): try: potentualMatch = findDefinitionByCoords(sourcenode.filename, linenum, col, pythonpath) if potentualMatch is not None and \ potentualMatch == defnmatch: scope = getScopeForLine(sourcenode,linenum) yield createMatchObject(scope,linenum,col,name,100) except CouldNotLocateNodeException: continue
def finds_a_module_from_an_fromstar(self): src = dedent(""" from foo import * """) srcfile= self.t.create_module("mymodule",src) foofile= self.t.create_module("foo","pass") defn = findDefinitionByCoords(srcfile,2,5,[]) assert_equal(foofile,defn.filename) assert_equal(0,defn.lineno) assert_equal(0,defn.colno) assert_equal(100,defn.confidence)
def finds_a_module_from_a_getattr(self): src = dedent(""" import bah.foo bah.foo """) srcfile = self.t.create_module("mymodule", src) foofile = self.t.create_module("bah.foo", "pass") defn = findDefinitionByCoords(srcfile, 3, 4, []) assert_equal(foofile, defn.filename) assert_equal(0, defn.lineno) assert_equal(0, defn.colno) assert_equal(100, defn.confidence)
def finds_a_module_from_a_getattr(self): src = dedent(""" import bah.foo bah.foo """) srcfile= self.t.create_module("mymodule",src) foofile= self.t.create_module("bah.foo","pass") defn = findDefinitionByCoords(srcfile,3,4,[]) assert_equal(foofile,defn.filename) assert_equal(0,defn.lineno) assert_equal(0,defn.colno) assert_equal(100,defn.confidence)
def generateRefsToName(name,scope,sourcenode,defnmatch,pythonpath): assert scope is not None if isinstance(scope,Function): # can do a local search for linenum,col in scope.getWordCoordsMatchingString(name): potentualMatch = findDefinitionByCoords(sourcenode.filename, linenum, col, pythonpath) if potentualMatch is not None and \ potentualMatch == defnmatch: yield createMatchObject(scope,linenum,col,name,100) else: for match in globalScanForNameReferences(name, sourcenode.filename, defnmatch, pythonpath): yield match
def test_findsClassRef(self): todo() src = dedent(""" class TheClass: pass a = TheClass() """) createSourceNodeAt(src, "mymodule") defn = findDefinitionByCoords(os.path.abspath("mymodule.py"), 3, 6, []) assert defn.filename == os.path.abspath("mymodule.py") assert defn.lineno == 1 assert defn.colno == 6 assert defn.confidence == 100
def test_findsClassRef(self): todo() src=dedent(""" class TheClass: pass a = TheClass() """) createSourceNodeAt(src,"mymodule") defn = findDefinitionByCoords(os.path.abspath("mymodule.py"),3,6,[]) assert defn.filename == os.path.abspath("mymodule.py") assert defn.lineno == 1 assert defn.colno == 6 assert defn.confidence == 100