o
    b	                     @   s<   d dl Z d dlmZ d dlmZmZ dZG dd deZdS )    N)strings)CheckerTestCaseMessage)z"X"z'X'z'''X'''z"""X"""zr"X"zR'X'zu"X"F'X'zf"X"r   zfr"X"zFr"X"zfR"X"zFR"X"zrf"X"zrF"X"zRf"X"zRF"X"c                   @   s*   e Zd ZejZdd Zdd Zdd ZdS )TestStringCheckerc                 C   sH   d}t |}|   | j| W d    d S 1 sw   Y  d S )Nzb'test'.format(1, 2))astroidextract_nodeassertNoMessagescheckerZ
visit_call)selfcodenode r   c/var/www/secure340b-portal/env/lib/python3.10/site-packages/pylint/test/unittest_checker_strings.pytest_format_bytes&   s
   

"z#TestStringChecker.test_format_bytesc              	   C   s   dD ]!}|    t|}W d    n1 sw   Y  | j| qdD ]!}|    t|}| j| W d    n1 sBw   Y  q&dD ],\}}}t|}| td|||fd | j| W d    n1 sqw   Y  qJd S )N)'%s' % 1'%d' % 1'%f' % 1)r   z'%(key)s' % {'key' : 1}r   z'%(key)d' % {'key' : 1}r   z'%(key)f' % {'key' : 1}z
'%d' % 1.1z'%(key)d' % {'key' : 1.1}z	'%s' % []z'%(key)s' % {'key' : []}z'%s' % Nonez'%(key)s' % {'key' : None}))z
'%d' % '1'builtins.strd)z'%(key)d' % {'key' : '1'}r   r   )z
'%x' % 1.1builtins.floatx)z'%(key)x' % {'key' : 1.1}r   r   )z	'%d' % []builtins.listr   )z'%(key)d' % {'key' : []}r   r   zbad-string-format-type)r   args)r	   r   r   r
   Zvisit_binopZassertAddsMessagesr   )r   r   r   Zarg_typeZformat_typer   r   r   test_format_types,   s,   




z#TestStringChecker.test_format_typesc                 C   s    t D ]}t|dksJ qd S )NX)TEST_TOKENSr   Zstr_eval)r   tokenr   r   r   test_str_evalT   s   zTestStringChecker.test_str_evalN)	__name__
__module____qualname__r   ZStringFormatCheckerZCHECKER_CLASSr   r   r   r   r   r   r   r   #   s
    (r   )r   Zpylint.checkersr   Zpylint.testutilsr   r   r   r   r   r   r   r   <module>   s
   