Example #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'
    ]
Example #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'
    ]
Example #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'
    ]
Example #4
0
def test_treat_07_as_7():
    out = parser('one[07, 0001].oneMore')
    assert out == ['one', [7, 1], 'oneMore']
Example #5
0
def test_parse_a_string_with_a_set_of_tokens():
    out = parser('one["test", \'test2\'].oneMore')
    assert out == ['one', ['test', 'test2'], 'oneMore']
Example #6
0
def test_parse_a_string_with_a_range():
    out = parser('one[0..5].oneMore')
    assert out == ['one', {'from': 0, 'to': 5}, 'oneMore']
Example #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)
Example #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']
Example #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']
Example #10
0
def test_parse_out_a_range():
    out = parser('one[0..1].oneMore')
    assert out == ['one', {'from': 0, 'to': 1}, 'oneMore']
Example #11
0
def test_treat_07_as_7():
    out = parser('one[07, 0001].oneMore')
    assert out == ['one', [7, 1], 'oneMore']
Example #12
0
def test_parse_a_string_with_a_set_of_tokens():
    out = parser('one["test", \'test2\'].oneMore')
    assert out == ['one', ['test', 'test2'], 'oneMore']
Example #13
0
def test_parse_a_string_with_a_range():
    out = parser('one[0..5].oneMore')
    assert out == ['one', {'from': 0, 'to': 5}, 'oneMore']
Example #14
0
def test_parse_a_string_with_indexers_followed_by_dot_separators():
    out = parser('one[0].oneMore')
    assert out == ['one', 0, 'oneMore']
Example #15
0
def test_parse_a_string_with_indexers():
    out = parser('one[0]')
    assert out == ['one', 0]
Example #16
0
def test_parse_out_a_range():
    out = parser('one[0..1].oneMore')
    assert out == ['one', {'from': 0, 'to': 1}, 'oneMore']
Example #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']
Example #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']
Example #19
0
def test_parse_a_simple_key_string():
    out = parser('one.two.three')
    assert out == ['one', 'two', 'three']
Example #20
0
def test_parse_a_simple_key_string():
    out = parser('one.two.three')
    assert out == ['one', 'two', 'three']
Example #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']
Example #22
0
def test_parse_a_string_with_indexers():
    out = parser('one[0]')
    assert out == ['one', 0]
Example #23
0
def test_parse_a_string_with_indexers_followed_by_dot_separators():
    out = parser('one[0].oneMore')
    assert out == ['one', 0, 'oneMore']
Example #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)