
    ?dr                         d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
 ddl	mZ ddlmZ  G d	 d
ej                        Z G d dej                         Zd Zd Zedk(  r ej*                          yy)zTests for yapf.logical_line.    N)pytree)token)split_penalty)format_token)logical_line)yapf_test_helperc                   $    e Zd Zd Zd Zd Zd Zy)LogicalLineBasicTestc                 <   t        t        j                  ddft        j                  ddfg      }t	        j
                  d|      }| j                  d|j                         | j                  ddg|j                  D cg c]  }|j                   c}       y c c}w )N.DOT|VBAR   )
_MakeFormatTokenListr   r   r   r   LogicalLineassertEqualdepthtokensname)selftoksllinetoks       =/usr/lib/python3/dist-packages/yapftests/logical_line_test.pytestConstructionz%LogicalLineBasicTest.testConstruction   s|    %))S%!8"'**c6!:!< =D$$R.ER%eV_5<<&HCsxx&HI&Hs   >B
c                    t        t        j                  ddft        j                  ddft        j                  ddfg      }t        j                  d|      }| j                  d|j                         | j                  d|j                  j                         | j                  d|j                  j                         y )Nr   r   (LPARr   r   r   )r   r   r   r   r   r   r   r   r   firstr   lastr   r   r   s      r   testFirstLastz"LogicalLineBasicTest.testFirstLast&   s    %))S%!8"'**c6!:"'**c6!:!< =D $$R.ER%UEKK,,-VUZZ__-    c                     t        t        j                  ddft        j                  ddft        j                  ddfg      }t        j                  d|      }| j                  d|j                                y )	Nr   r   r   r   r   r      z	    . ( |)	r   r   r   r   r   r   r   r   AsCoder"   s      r   
testAsCodezLogicalLineBasicTest.testAsCode/   sd    %))S%!8"'**c6!:"'**c6!:!< =D $$Q-E[%,,.1r$   c                 L   t        j                  d      }|j                  t        t        j
                  dd             |j                  t        t        j                  dd             | j                  ddg|j                  D cg c]  }|j                   c}       y c c}w )Nr   r   r   )RPAR)
r   r   AppendToken_MakeFormatTokenLeafr   r   r+   r   r   r   )r   r   r   s      r   testAppendTokenz$LogicalLineBasicTest.testAppendToken6   su    $$Q'E	*5::sFCD	*5::sFCDff%ELL'IS'IJ'Is   B!
N)__name__
__module____qualname__r   r#   r(   r.    r$   r   r
   r
      s    J.2Kr$   r
   c                       e Zd Zd Zy)$LogicalLineFormattingInformationTestc                     t        j                  d      }t        j                  |      }|d   j                  d   }| j                  |j                         | j                  |j                         | j                  |j                  t        j                         |d   j                  d   }| j                  |j                         | j                  |j                         | j                  |j                  t        j                         y )Nz-
        def f(a, b):
          pass
        r      r&   )textwrapdedentr   ParseAndUnwrapr   assertFalsecan_break_beforemust_break_beforer   r   UNBREAKABLE)r   codellinesflparens        r   testFuncDefz0LogicalLineFormattingInformationTest.testFuncDef?   s    ??  D ,,T2Fq	AQ''(Q(()Q__m&?&?@AYa FV,,-V--.V))=+D+DEr$   N)r/   r0   r1   rB   r2   r$   r   r4   r4   =   s    Fr$   r4   c                 V    t        j                  t        j                  | |      |      S N)r   FormatTokenr   Leaf)
token_typetoken_valuer   s      r   r-   r-   Q   s     		!	!&++j+"F	MMr$   c           
      V    | D cg c]  \  }}}t        |||       c}}}S c c}}}w rD   )r-   )token_type_valuesrG   rH   
token_names       r   r   r   U   s9     2C
 

-*k: :{J?
  
s   $__main__)__doc__r7   unittestlib2to3r   lib2to3.pgen2r   yapf.pytreer   yapf.yapflibr   r   	yapftestsr   TestCaser
   YAPFTestr4   r-   r   r/   mainr2   r$   r   <module>rW      sq    #     % % % &K8,, K@F+;+D+D F(N z(--/ r$   