Rc @ s0 d Z d d l Z d d l m Z d d l m Z m Z m Z m Z m Z d d l m Z m Z m Z m Z d d l m Z m Z m Z m Z m Z e Z e r d Z n e Z d e f d YZ d e f d YZ d e f d YZ d e f d YZ d e f d YZ d Z d S( s jinja2.testsuite.lexnparse ~~~~~~~~~~~~~~~~~~~~~~~~~~ All the unittests regarding lexing, parsing and syntax. :copyright: (c) 2010 by the Jinja Team. :license: BSD, see LICENSE for more details. iN( t JinjaTestCase( t Environmentt Templatet TemplateSyntaxErrort UndefinedErrort nodes( t nextt iteritemst text_typet PY2( t Tokent TokenStreamt TOKEN_EOFt TOKEN_BLOCK_BEGINt TOKEN_BLOCK_ENDc C s t | d S( Ni ( t repr( t string( ( s> /usr/lib/python2.7/site-packages/jinja2/testsuite/lexnparse.pyt jinja_string_repr s t TokenStreamTestCasec B s> e Z e d e d e d e d g Z d Z d Z RS( i t i c C s t | j d d } | j j t k s- t t | s? t t | j sU t t | | j j t k sw t t | s t t | j s t t | | j j t k s t t | s t t | j s t d S( Nt foot bar( R t test_tokenst currentt typeR t AssertionErrort boolt eosR R R ( t selft ts( ( s> /usr/lib/python2.7/site-packages/jinja2/testsuite/lexnparse.pyt test_simple% s c C sG g t | j d d D] } | j ^ q } | d d g k sC t d S( NR R t block_begint block_end( R R R R ( R t tt token_types( ( s> /usr/lib/python2.7/site-packages/jinja2/testsuite/lexnparse.pyt test_iter3 s +( t __name__t __module__R R R R R R# ( ( ( s> /usr/lib/python2.7/site-packages/jinja2/testsuite/lexnparse.pyR s t LexerTestCasec B sY e Z d Z d Z d Z d Z d Z d Z d Z d Z d Z RS( c C s+ t j d } | j d k s' t d S( NsH {% raw %}foo{% endraw %}|{%raw%}{{ bar }}|{% baz %}{% endraw %}s foo|{{ bar }}|{% baz %}( t envt from_stringt renderR ( R t tmpl( ( s> /usr/lib/python2.7/site-packages/jinja2/testsuite/lexnparse.pyt test_raw1: s c C s+ t j d } | j d k s' t d S( Ns' 1 {%- raw -%} 2 {%- endraw -%} 3t 123( R' R( R) R ( R R* ( ( s> /usr/lib/python2.7/site-packages/jinja2/testsuite/lexnparse.pyt test_raw2? s c C sR t d d d d } | j d } | j d t t d d k sN t d S( Ns {%s %}s ${t }sC {% for item in seq %}${{'foo': item}|upper}{% endfor %}t seqi s {'FOO': 0}{'FOO': 1}{'FOO': 2}( R R( R) t listt rangeR ( R R' R* ( ( s> /usr/lib/python2.7/site-packages/jinja2/testsuite/lexnparse.pyt test_balancingC s c C sR t d d d d } | j d } | j d t t d d k sN t d S( Ns t {R. sG