File: test_keyword.py

package info (click to toggle)
python-jedi 0.19.1%2Bds1-1
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 11,680 kB
  • sloc: python: 28,783; makefile: 172; ansic: 13
file content (51 lines) | stat: -rw-r--r-- 1,457 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
"""
Test of keywords and ``jedi.keywords``
"""


def test_goto_keyword(Script):
    """
    Bug: goto assignments on ``in`` used to raise AttributeError::

      'str' object has no attribute 'generate_call_path'
    """
    Script('in').goto()


def test_keyword(Script, environment):
    """ github jedi-vim issue #44 """
    defs = Script("print").infer()
    assert [d.docstring() for d in defs]

    assert Script("import").goto() == []

    completions = Script("import").complete(1, 1)
    assert len(completions) > 10 and 'if' in [c.name for c in completions]
    assert Script("assert").infer() == []


def test_keyword_attributes(Script):
    def_, = Script('def').complete()
    assert def_.name == 'def'
    assert def_.complete == ''
    assert def_.is_keyword is True
    assert def_.is_stub() is False
    assert def_.goto(only_stubs=True) == []
    assert def_.goto() == []
    assert def_.infer() == []
    assert def_.parent() is None
    assert def_.docstring()
    assert def_.description == 'keyword def'
    assert def_.get_line_code() == ''
    assert def_.full_name is None
    assert def_.line is def_.column is None
    assert def_.in_builtin_module() is True
    assert def_.module_name == 'builtins'
    assert 'typeshed' in def_.module_path.parts
    assert def_.type == 'keyword'


def test_none_keyword(Script, environment):
    none, = Script('None').complete()
    assert not none.docstring()
    assert none.name == 'None'