
    ?d.                         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
  G d d	e
j                        Zd
 Zedk(  r ej                          yy)z%Tests for yapf.format_decision_state.    N)pytree_utils)format_decision_state)logical_line)style)yapf_test_helperc                   (    e Zd Zed        Zd Zd Zy)FormatDecisionStateTestc                 R    t        j                  t        j                                y )N)r   SetGlobalStyleCreateYapfStyle)clss    F/usr/lib/python3/dist-packages/yapftests/format_decision_state_test.py
setUpClassz"FormatDecisionStateTest.setUpClass   s    	..01    c                    t        j                  d      }t        j                  |      }t	        j
                  dt        |d               }|j                          t        j                  |d      }|j                          | j                  d|j                  j                         | j                  |j                  d             |j!                  dd       | j                  d|j                  j                         | j                  |j                  d             | j                  |j#                                |j!                  dd       | j                  d|j                  j                         | j%                  |j                  d             | j                  |j#                                |j!                  dd       | j                  d|j                  j                         | j                  |j                  d             | j                  |j#                                |j!                  dd       | j                  d	|j                  j                         | j%                  |j                  d             | j                  |j#                                |j!                  dd       | j                  d
|j                  j                         | j%                  |j                  d             | j                  |j#                                |j!                  dd       | j                  d|j                  j                         | j                  |j                  d             | j                  |j#                                |j'                         }| j                  t)        |      t)        |             y Nz'
      def f(a, b):
        pass
      r   fFT(a,b):)textwrapdedentr   ParseAndUnwrapr   LogicalLine_FilterLineCalculateFormattingInformationr   FormatDecisionStateMoveStateToNextTokenassertEqual
next_tokenvalueassertFalseCanSplitAddTokenToState	MustSplit
assertTrueClonereprselfcodellinesllinestateclones         r   $testSimpleFunctionDefWithNoSplittingz<FormatDecisionStateTest.testSimpleFunctionDefWithNoSplitting"   s   ?? 
 D ,,T2F$$QF1I(>?E	((* "55eQ?E	 S%**001U^^E*+ 
%&S%**001U^^E*+U__&' 
%&S%**001OOENN5)*U__&' 
%&S%**001U^^E*+U__&' 
%&S%**001OOENN5)*U__&' 
%&S%**001OOENN5)*U__&' 
%&S%**001U^^E*+U__&'KKMET%[$u+.r   c                    t        j                  d      }t        j                  |      }t	        j
                  dt        |d               }|j                          t        j                  |d      }|j                          | j                  d|j                  j                         | j                  |j                  d             |j!                  dd       | j                  d|j                  j                         | j                  |j                  d             |j!                  dd       | j                  d|j                  j                         | j#                  |j                  d             |j!                  dd       | j                  d|j                  j                         | j                  |j                  d             |j!                  dd       | j                  d	|j                  j                         | j#                  |j                  d             |j!                  dd       | j                  d
|j                  j                         | j#                  |j                  d             |j!                  dd       | j                  d|j                  j                         | j                  |j                  d             |j%                         }| j                  t'        |      t'        |             y r   )r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r)   r*   r+   r,   s         r   "testSimpleFunctionDefWithSplittingz:FormatDecisionStateTest.testSimpleFunctionDefWithSplittingX   s\   ?? 
 D ,,T2F$$QF1I(>?E	((* "55eQ?E	 S%**001U^^E*+ 
$%S%**001U^^E*+ 
$%S%**001OOENN5)* 
$%S%**001U^^E*+ 
$%S%**001OOENN5)* 
$%S%**001OOENN5)* 
$%S%**001U^^E*+KKMET%[$u+.r   N)__name__
__module____qualname__classmethodr   r3   r5    r   r   r	   r	      s    2 24/l./r   r	   c                 x    | j                   D cg c]   }|j                  t        j                  vr|" c}S c c}w )z4Filter out nonsemantic tokens from the LogicalLines.)tokensnamer   NONSEMANTIC_TOKENS)r0   fts     r   r   r      s:     <<
	77	7 	
  
s   %7__main__)__doc__r   unittestyapf.pytreer   yapf.yapflibr   r   r   	yapftestsr   YAPFTestr	   r   r6   mainr:   r   r   <module>rH      sT    ,   $ . %  &j/.77 j/Z z(--/ r   