Skip to content

Commit 590cd10

Browse files
committed
Add tests
1 parent 13876e8 commit 590cd10

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

test/plugins/test_jedi_lint.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
from pyls import lsp, uris
2+
from pyls.workspace import Document
3+
from pyls.plugins import jedi_lint
4+
5+
DOC_URI = uris.from_fs_path(__file__)
6+
DOC = """import sys
7+
8+
def hello():
9+
\tpass
10+
11+
import json
12+
"""
13+
14+
DOC_SYNTAX_ERR = """def hello()
15+
pass
16+
"""
17+
18+
DOC_INDENT_ERR = """def hello():
19+
x = 1
20+
pass
21+
"""
22+
23+
DOC_ENCODING = u"""# encoding=utf-8
24+
import sys
25+
"""
26+
27+
28+
def test_jedi_lint(workspace):
29+
doc = Document(DOC_URI, workspace, DOC)
30+
diags = jedi_lint.pyls_lint(doc)
31+
32+
assert len(diags) == 0
33+
34+
35+
def test_syntax_error_jedi(workspace):
36+
doc = Document(DOC_URI, workspace, DOC_SYNTAX_ERR)
37+
diag = jedi_lint.pyls_lint(doc)[0]
38+
39+
assert diag['message'] == 'SyntaxError: invalid syntax'
40+
assert diag['range']['start'] == {'line': 0, 'character': 11}
41+
assert diag['range']['end'] == {'line': 1, 'character': 0}
42+
assert diag['severity'] == lsp.DiagnosticSeverity.Error
43+
44+
45+
def test_indent_error_jedi(workspace):
46+
doc = Document(DOC_URI, workspace, DOC_INDENT_ERR)
47+
diag = jedi_lint.pyls_lint(doc)[0]
48+
49+
assert diag['message'] == "IndentationError: unindent does not match \
50+
any outer indentation level"
51+
assert diag['range']['start'] == {'line': 2, 'character': 0}
52+
assert diag['range']['end'] == {'line': 2, 'character': 2}
53+
assert diag['severity'] == lsp.DiagnosticSeverity.Error
54+
55+
56+
def test_encoding_jedi(workspace):
57+
doc = Document(DOC_URI, workspace, DOC_ENCODING)
58+
diags = jedi_lint.pyls_lint(doc)
59+
60+
assert len(diags) == 0

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy