Ejemplo n.º 1
0
def test_should_create_a_routed_token_for_the_path():
    out = parser('one[{ranges}].oneMore', True)
    assert out == [
        'one', {
            'type': 'ranges',
            'named': False,
            'name': ''
        }, 'oneMore'
    ]
Ejemplo n.º 2
0
def test_should_create_a_named_routed_token_for_the_path_and_allow_white_space_before_and_after_the_definition(
):
    out = parser('one[{ranges: \t\n\rfoo \t\n\r}].oneMore', True)
    assert out == [
        'one', {
            'type': 'ranges',
            'named': True,
            'name': 'foo'
        }, 'oneMore'
    ]
Ejemplo n.º 3
0
def test_parse_out_multiple_ranges():
    out = parser('one[0..1,3..4].oneMore')
    assert out == [
        'one', [{
            'from': 0,
            'to': 1
        }, {
            'from': 3,
            'to': 4
        }], 'oneMore'
    ]
Ejemplo n.º 4
0
def test_treat_07_as_7():
    out = parser('one[07, 0001].oneMore')
    assert out == ['one', [7, 1], 'oneMore']
Ejemplo n.º 5
0
def test_parse_a_string_with_a_set_of_tokens():
    out = parser('one["test", \'test2\'].oneMore')
    assert out == ['one', ['test', 'test2'], 'oneMore']
Ejemplo n.º 6
0
def test_parse_a_string_with_a_range():
    out = parser('one[0..5].oneMore')
    assert out == ['one', {'from': 0, 'to': 5}, 'oneMore']
Ejemplo n.º 7
0
def test_should_create_a_named_routed_token_for_the_path_and_fail_if_white_space_divides_the_token_name():
    with pytest.raises(exceptions.Invalid):
        parser('one[{ranges:f o o}].oneMore', True)
Ejemplo n.º 8
0
def test_should_create_a_named_routed_token_for_the_path_and_allow_white_space_before_and_after_the_definition():
    out = parser('one[{ranges: \t\n\rfoo \t\n\r}].oneMore', True)
    assert out == [
        'one', {'type': 'ranges', 'named': True, 'name': 'foo'}, 'oneMore']
Ejemplo n.º 9
0
def test_parse_paths_with_newlines_and_whitespace_between_indexer_keys():
    out = parser("""one[
        0, 1, 2, 3, 4,
        5, 6, 7, 8, 9].oneMore""")
    assert out == ['one', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'oneMore']
Ejemplo n.º 10
0
def test_parse_out_a_range():
    out = parser('one[0..1].oneMore')
    assert out == ['one', {'from': 0, 'to': 1}, 'oneMore']
Ejemplo n.º 11
0
def test_treat_07_as_7():
    out = parser('one[07, 0001].oneMore')
    assert out == ['one', [7, 1], 'oneMore']
Ejemplo n.º 12
0
def test_parse_a_string_with_a_set_of_tokens():
    out = parser('one["test", \'test2\'].oneMore')
    assert out == ['one', ['test', 'test2'], 'oneMore']
Ejemplo n.º 13
0
def test_parse_a_string_with_a_range():
    out = parser('one[0..5].oneMore')
    assert out == ['one', {'from': 0, 'to': 5}, 'oneMore']
Ejemplo n.º 14
0
def test_parse_a_string_with_indexers_followed_by_dot_separators():
    out = parser('one[0].oneMore')
    assert out == ['one', 0, 'oneMore']
Ejemplo n.º 15
0
def test_parse_a_string_with_indexers():
    out = parser('one[0]')
    assert out == ['one', 0]
Ejemplo n.º 16
0
def test_parse_out_a_range():
    out = parser('one[0..1].oneMore')
    assert out == ['one', {'from': 0, 'to': 1}, 'oneMore']
Ejemplo n.º 17
0
def test_parse_out_multiple_ranges():
    out = parser('one[0..1,3..4].oneMore')
    assert out == ['one', [{'from': 0, 'to': 1}, {'from': 3, 'to': 4}], 'oneMore']
Ejemplo n.º 18
0
def test_parse_paths_with_newlines_and_whitespace_between_indexer_keys():
    out = parser("""one[
        0, 1, 2, 3, 4,
        5, 6, 7, 8, 9].oneMore""")
    assert out == ['one', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'oneMore']
Ejemplo n.º 19
0
def test_parse_a_simple_key_string():
    out = parser('one.two.three')
    assert out == ['one', 'two', 'three']
Ejemplo n.º 20
0
def test_parse_a_simple_key_string():
    out = parser('one.two.three')
    assert out == ['one', 'two', 'three']
Ejemplo n.º 21
0
def test_should_create_a_named_routed_token_for_the_path():
    out = parser('one[{ranges:foo}].oneMore', True)
    assert out == [
        'one', {'type': 'ranges', 'named': True, 'name': 'foo'}, 'oneMore']
Ejemplo n.º 22
0
def test_parse_a_string_with_indexers():
    out = parser('one[0]')
    assert out == ['one', 0]
Ejemplo n.º 23
0
def test_parse_a_string_with_indexers_followed_by_dot_separators():
    out = parser('one[0].oneMore')
    assert out == ['one', 0, 'oneMore']
Ejemplo n.º 24
0
def test_should_create_a_named_routed_token_for_the_path_and_fail_if_white_space_divides_the_token_name(
):
    with pytest.raises(exceptions.Invalid):
        parser('one[{ranges:f o o}].oneMore', True)