Skip to content

Commit ae63149

Browse files
committed
better linting test
1 parent d178670 commit ae63149

File tree

1 file changed

+39
-7
lines changed

1 file changed

+39
-7
lines changed

test/plugins/test_importmagic_lint.py

+39-7
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,45 @@
77
from pyls.workspace import Document
88

99
DOC_URI = uris.from_fs_path(__file__)
10+
11+
DOC_LINT = """
12+
import os
13+
time.sleep(10)
14+
t = 5
15+
16+
def useless_func():
17+
pass
18+
"""
19+
1020
DOC_ADD = """
1121
time.sleep(10)
1222
print("test")
1323
"""
24+
1425
DOC_REMOVE = """
1526
import time
1627
print("useless import")
1728
"""
1829

30+
LINT_DIAGS = {
31+
"Unresolved import 'time.sleep'": {
32+
'range': {'start': {'line': 2, 'character': 0}, 'end': {'line': 2, 'character': 10}},
33+
'severity': lsp.DiagnosticSeverity.Hint,
34+
},
35+
"Unreferenced variable/function 'useless_func'": {
36+
'range': {'start': {'line': 5, 'character': 4}, 'end': {'line': 5, 'character': 16}},
37+
'severity': lsp.DiagnosticSeverity.Warning,
38+
},
39+
"Unreferenced variable/function 't'": {
40+
'range': {'start': {'line': 3, 'character': 0}, 'end': {'line': 3, 'character': 1}},
41+
'severity': lsp.DiagnosticSeverity.Warning,
42+
},
43+
"Unreferenced import 'os'": {
44+
'range': {'start': {'line': 1, 'character': 7}, 'end': {'line': 1, 'character': 9}},
45+
'severity': lsp.DiagnosticSeverity.Warning,
46+
},
47+
}
48+
1949

2050
def temp_document(doc_text):
2151
temp_file = tempfile.NamedTemporaryFile(mode='w', delete=False)
@@ -29,14 +59,16 @@ def temp_document(doc_text):
2959

3060
def test_importmagic_lint():
3161
try:
32-
name, doc = temp_document(DOC)
62+
name, doc = temp_document(DOC_LINT)
3363
diags = importmagic_lint.pyls_lint(doc)
34-
unres_symbol = [d for d in diags if d['source'] == 'importmagic'][0]
35-
36-
assert unres_symbol['message'] == "Unresolved import 'time.sleep'"
37-
assert unres_symbol['range']['start'] == {'line': 1, 'character': 0}
38-
assert unres_symbol['range']['end'] == {'line': 1, 'character': 10}
39-
assert unres_symbol['severity'] == lsp.DiagnosticSeverity.Hint
64+
importmagic_diags = [d for d in diags if d['source'] == 'importmagic']
65+
assert len(importmagic_diags) == len(LINT_DIAGS)
66+
67+
for diag in importmagic_diags:
68+
expected_diag = LINT_DIAGS.get(diag['message'])
69+
assert expected_diag is not None, "Didn't expect diagnostic with message '{}'".format(diag['message'])
70+
assert expected_diag['range'] == diag['range']
71+
assert expected_diag['severity'] == diag['severity']
4072

4173
finally:
4274
os.remove(name)

0 commit comments

Comments
 (0)