mirror of
https://github.com/davidhalter/parso.git
synced 2025-12-07 13:24:39 +08:00
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import pytest
|
|
import parso
|
|
|
|
|
|
@pytest.mark.parametrize(('string', 'tokens'), [
|
|
('#', ['#']),
|
|
(' # ', [' ', '# ']),
|
|
(' # \n', [' ', '# ', '\n']),
|
|
(' # \f\n', [' ', '# ', '\f', '\n']),
|
|
(' \n', [' ', '\n']),
|
|
(' \n ', [' ', '\n', ' ']),
|
|
(' \f ', [' ', '\f', ' ']),
|
|
(' \f ', [' ', '\f', ' ']),
|
|
(' \r\n', [' ', '\r\n']),
|
|
('\\', ['\\']),
|
|
('\\\n', ['\\\n']),
|
|
('\\\r\n', ['\\\r\n']),
|
|
])
|
|
def test_simple_prefix_splitting(string, tokens):
|
|
tree = parso.parse(string)
|
|
leaf = tree.children[0]
|
|
assert leaf.type == 'endmarker'
|
|
parsed_tokens = list(leaf._split_prefix())
|
|
assert [t.value for t in parsed_tokens] == tokens
|
|
|
|
|
|
@pytest.mark.parametrize(('string', 'types'), [
|
|
('# ', ['comment']),
|
|
('\r\n', ['newline']),
|
|
('\f', ['formfeed']),
|
|
('\\\n', ['backslash']),
|
|
])
|
|
def test_prefix_splitting_types(string, types):
|
|
tree = parso.parse(string)
|
|
leaf = tree.children[0]
|
|
assert leaf.type == 'endmarker'
|
|
parsed_tokens = list(leaf._split_prefix())
|
|
assert [t.type for t in parsed_tokens] == types
|