def test_simple_format_string(): convert = functools.partial(parser.Converter(names={'abc'}).convert_simple, spec=parser.FormatString) assert '{abc}' == convert('$abc') assert '{abc:eval}' == convert('$abc()') assert '{abc}' == convert('$(abc)') assert '{abc:eval}' == convert('$(abc())') assert '{abc}' == convert('${abc}') assert '{abc:eval}' == convert('${abc()}')
def test_basic(): c = parser.Converter(names={'abc'}) for convert in (c.convert_simple, c.convert_hard, c.to_python): assert 'abc' == convert('$abc') assert 'abc' == convert('$abc()') assert 'abc' == convert('$(abc)') assert 'abc' == convert('$(abc())') assert 'abc' == convert('${abc}') assert 'abc' == convert('${abc()}') assert c.stats['simple'] == 2 * 6 assert c.stats['hard'] == 1 * 6
def test_simple(): convert = parser.Converter(names={'abc': {'def'}}) assert 'abc' == convert.convert_simple('$abc') assert 'abc.def' == convert.convert_simple('$abc.def') assert 'abc.def' == convert.convert_simple('$(abc.def)') assert 'abc.def' == convert.convert_simple('${abc.def}') try: convert.convert_simple('$abc.not_a_sub_key') except NameError: assert True else: assert False
def test_hard_format_string(): names = {'abc': {'ff'}, 'param1': {}, 'param2': {}} convert = functools.partial(parser.Converter(names).convert_hard, spec=parser.FormatString) assert 'make_a_cool_block_{abc.ff}({param1}, {param2})' == \ convert('make_a_cool_block_${abc.ff}($param1, $param2)')
def test_conditional(): convert = parser.Converter(names={'abc'}) assert '(asb_asd_ if abc > 0 else __not__)' == convert.convert_inline_conditional( '#if $abc > 0 then asb_$asd_ else __not__')
assert '{abc:eval}' == convert('$abc()') assert '{abc}' == convert('$(abc)') assert '{abc:eval}' == convert('$(abc())') assert '{abc}' == convert('${abc}') assert '{abc:eval}' == convert('${abc()}') def test_hard_format_string(): names = {'abc': {'ff'}, 'param1': {}, 'param2': {}} convert = functools.partial(parser.Converter(names).convert_hard, spec=parser.FormatString) assert 'make_a_cool_block_{abc.ff}({param1}, {param2})' == \ convert('make_a_cool_block_${abc.ff}($param1, $param2)') converter = parser.Converter(names={'abc'}) c2p = converter.to_python def test_opts(): assert 'abc abc abc' == c2p('$abc $(abc) ${abc}') assert 'abc abc.abc abc' == c2p('$abc $abc.abc ${abc}') assert 'abc abc[' '].abc abc' == c2p('$abc $abc[' '].abc() ${abc}') def test_nested(): assert 'abc(abc) abc + abc abc[abc]' == c2p( '$abc($abc) $(abc + $abc) ${abc[$abc]}') assert '(abc_abc_)' == c2p('(abc_$(abc)_)')