a
    Ø
þd+  ã                   @   s^   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 G dd„ dejƒZ	e
dkrZe ¡  dS )	z(Style config tests for yapf.reformatter.é    N)Úreformatter)Ústyle)Úyapf_test_helperc                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTestsForStyleConfigc                 C   s   t j| _d S )N)r   ÚDEFAULT_STYLEÚcurrent_style)Úself© r	   úp/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/yapftests/reformatter_style_config_test.pyÚsetUp   s    zTestsForStyleConfig.setUpc              
   C   s¦   zXt  t  ¡ ¡ t d¡}t d¡}t |¡}|  |t 	|¡¡ W t  t  
¡ ¡ | jt _nt  t  
¡ ¡ | jt _0 t d¡}t d¡}t |¡}|  |t 	|¡¡ d S )Nz?          for i in range(5):
           print('bar')
          z@          for i in range(5):
            print('bar')
          z9        for i in range(5):
         print('bar')
        z<        for i in range(5):
            print('bar')
        )r   ÚSetGlobalStyleZCreateYapfStyleÚtextwrapÚdedentr   ÚParseAndUnwrapÚassertCodeEqualr   ÚReformatÚCreatePEP8Styler   r   )r   Úunformatted_codeÚexpected_formatted_codeÚllinesr	   r	   r
   ÚtestSetGlobalStyle   s     


ÿ
ÿ



z&TestsForStyleConfig.testSetGlobalStylec              
   C   sˆ   zjt  ¡ }t  d¡|d< t  |¡ t d¡}t d¡}t |¡}|  |t	 
|¡¡ W t  t  ¡ ¡ | jt _nt  t  ¡ ¡ | jt _0 d S )Nz*,/Z*NO_SPACES_AROUND_SELECTED_BINARY_OPERATORSz>          a = 1+2 * 3 - 4 / 5
          b = '0' * 1
          z:          a = 1 + 2*3 - 4/5
          b = '0'*1
          )r   r   Z_StringSetConverterr   r   r   r   r   r   r   r   r   r   )r   Zsympy_styler   r   r   r	   r	   r
   ÚtestOperatorNoSpaceStyle;   s    ÿ



ÿ
ÿz,TestsForStyleConfig.testOperatorNoSpaceStylec              
   C   s‚   zdt  ¡ }d|d< t  |¡ t d¡}t d¡}t |¡}|  |t 	|¡¡ W t  t  ¡ ¡ | j
t _nt  t  ¡ ¡ | j
t _0 d S )NTZ ARITHMETIC_PRECEDENCE_INDICATIONaˆ            1+2
          (1 + 2) * (3 - (4 / 5))
          a = 1 * 2 + 3 / 4
          b = 1 / 2 - 3 * 4
          c = (1 + 2) * (3 - 4)
          d = (1 - 2) / (3 + 4)
          e = 1 * 2 - 3
          f = 1 + 2 + 3 + 4
          g = 1 * 2 * 3 * 4
          h = 1 + 2 - 3 + 4
          i = 1 * 2 / 3 * 4
          j = (1 * 2 - 3) + 4
          k = (1 * 2 * 3) + (4 * 5 * 6 * 7 * 8)
          af            1 + 2
          (1+2) * (3 - (4/5))
          a = 1*2 + 3/4
          b = 1/2 - 3*4
          c = (1+2) * (3-4)
          d = (1-2) / (3+4)
          e = 1*2 - 3
          f = 1 + 2 + 3 + 4
          g = 1 * 2 * 3 * 4
          h = 1 + 2 - 3 + 4
          i = 1 * 2 / 3 * 4
          j = (1*2 - 3) + 4
          k = (1*2*3) + (4*5*6*7*8)
          ©r   r   r   r   r   r   r   r   r   r   r   r   )r   Zpep8_with_precedencer   r   r   r	   r	   r
   ÚtestOperatorPrecedenceStyleQ   s    



ÿ
ÿz/TestsForStyleConfig.testOperatorPrecedenceStylec              
   C   s€   zbt  ¡ }d|d< d|d< t  |¡ t d¡}t |¡}|  |t 	|¡¡ W t  t  ¡ ¡ | j
t _nt  t  ¡ ¡ | j
t _0 d S )NFÚSPLIT_BEFORE_FIRST_ARGUMENTÚSPLIT_BEFORE_NAMED_ASSIGNSaØ            # Example from in-code MustSplit comments
          foo = outer_function_call(fitting_inner_function_call(inner_arg1, inner_arg2),
                                    outer_arg1, outer_arg2)

          foo = outer_function_call(
              not_fitting_inner_function_call(inner_arg1, inner_arg2), outer_arg1,
              outer_arg2)

          # Examples Issue#424
          a_super_long_version_of_print(argument1, argument2, argument3, argument4,
                                        argument5, argument6, argument7)

          CREDS_FILE = os.path.join(os.path.expanduser('~'),
                                    'apis/super-secret-admin-creds.json')

          # Examples Issue#556
          i_take_a_lot_of_params(arg1, param1=very_long_expression1(),
                                 param2=very_long_expression2(),
                                 param3=very_long_expression3(),
                                 param4=very_long_expression4())

          # Examples Issue#590
          plt.plot(numpy.linspace(0, 1, 10), numpy.linspace(0, 1, 10), marker="x",
                   color="r")

          plt.plot(veryverylongvariablename, veryverylongvariablename, marker="x",
                   color="r")
          r   ©r   Zpep8_no_split_before_firstZformatted_coder   r	   r	   r
   Ú$testNoSplitBeforeFirstArgumentStyle1|   s    



ÿz8TestsForStyleConfig.testNoSplitBeforeFirstArgumentStyle1c              
   C   s€   zbt  ¡ }d|d< d|d< t  |¡ t d¡}t |¡}|  |t 	|¡¡ W t  t  ¡ ¡ | j
t _nt  t  ¡ ¡ | j
t _0 d S )NFr   Tr   a£            # Examples Issue#556
          i_take_a_lot_of_params(arg1,
                                 param1=very_long_expression1(),
                                 param2=very_long_expression2(),
                                 param3=very_long_expression3(),
                                 param4=very_long_expression4())

          # Examples Issue#590
          plt.plot(numpy.linspace(0, 1, 10),
                   numpy.linspace(0, 1, 10),
                   marker="x",
                   color="r")

          plt.plot(veryverylongvariablename,
                   veryverylongvariablename,
                   marker="x",
                   color="r")
          r   r   r	   r	   r
   Ú$testNoSplitBeforeFirstArgumentStyle2¥   s    



ÿz8TestsForStyleConfig.testNoSplitBeforeFirstArgumentStyle2N)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r	   r	   r	   r
   r      s   +)r   Ú__main__)Ú__doc__r   ZunittestZyapf.yapflibr   r   Z	yapftestsr   ZYAPFTestr   r   Úmainr	   r	   r	   r
   Ú<module>   s    -