aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/parso/py3/tests/test_load_grammar.py
blob: a4b02f29739f2544af2a63c315f26469c4df4394 (plain) (blame)
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
import pytest 
from parso.grammar import load_grammar 
from parso import utils 
 
 
def test_load_inexisting_grammar(): 
    # This version shouldn't be out for a while, but if we ever do, wow! 
    with pytest.raises(NotImplementedError): 
        load_grammar(version='15.8') 
    # The same is true for very old grammars (even though this is probably not 
    # going to be an issue. 
    with pytest.raises(NotImplementedError): 
        load_grammar(version='1.5') 
 
 
@pytest.mark.parametrize(('string', 'result'), [ 
    ('2', (2, 7)), ('3', (3, 6)), ('1.1', (1, 1)), ('1.1.1', (1, 1)), ('300.1.31', (300, 1)) 
]) 
def test_parse_version(string, result): 
    assert utils._parse_version(string) == result 
 
 
@pytest.mark.parametrize('string', ['1.', 'a', '#', '1.3.4.5']) 
def test_invalid_grammar_version(string): 
    with pytest.raises(ValueError): 
        load_grammar(version=string) 
 
 
def test_grammar_int_version(): 
    with pytest.raises(TypeError): 
        load_grammar(version=3.8)