forked from VimPlug/jedi
56 lines
1.3 KiB
Python
Executable File
56 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python
|
|
import os
|
|
import sys
|
|
import unittest
|
|
|
|
os.chdir(os.path.dirname(os.path.abspath(__file__)) + '/..')
|
|
sys.path.append('.')
|
|
|
|
import functions
|
|
#functions.set_debug_function(functions.debug.print_to_stdout)
|
|
|
|
|
|
class TestRegression(unittest.TestCase):
|
|
def get_def(self, src, pos):
|
|
return functions.get_definition(src, pos[0], pos[1], '')
|
|
|
|
def test_get_definition_cursor(self):
|
|
|
|
s = ("class A():\n"
|
|
" def _something(self):\n"
|
|
" return\n"
|
|
" def different_line(self,\n"
|
|
" b):\n"
|
|
" return\n"
|
|
"A._something\n"
|
|
"A.different_line"
|
|
)
|
|
|
|
|
|
in_name = 2, 9
|
|
under_score = 2, 8
|
|
cls = 2, 7
|
|
should1 = 7, 10
|
|
diff_line = 4, 10
|
|
should2 = 8, 10
|
|
|
|
get_def = lambda pos: [d.description for d in self.get_def(s, pos)]
|
|
in_name = get_def(in_name)
|
|
under_score = get_def(under_score)
|
|
should1 = get_def(should1)
|
|
should2 = get_def(should2)
|
|
|
|
diff_line = get_def(diff_line)
|
|
|
|
assert should1 == in_name
|
|
assert should1 == under_score
|
|
|
|
#print should2, diff_line
|
|
assert should2 == diff_line
|
|
|
|
self.assertRaises(functions.NotFoundError, get_def, cls)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|