mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-09 07:14:48 +08:00
74 lines
1.8 KiB
Python
Executable File
74 lines
1.8 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)
|
|
|
|
def test_keyword_doc(self):
|
|
r = list(self.get_def("or", (1,1)))
|
|
assert len(r) == 1
|
|
assert len(r[0].doc) > 100
|
|
|
|
r = list(self.get_def("asfdasfd", (1,1)))
|
|
assert len(r) == 0
|
|
|
|
def test_operator_doc(self):
|
|
r = list(self.get_def("a == b", (1,3)))
|
|
assert len(r) == 1
|
|
assert len(r[0].doc) > 100
|
|
|
|
def test_get_definition_at_zero(self):
|
|
assert self.get_def("a", (1,1)) == set()
|
|
##assert self.get_def("", (1,0)) == set()
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|