
    j                     6    S r SSKJr  SSKJr   " S S\5      rg)z2
Tests for dict duplicate keys Pyflakes behavior.
    )messages)TestCasec                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)Test	   c                 b    U R                  S[        R                  [        R                  5        g )Nz{'yes': 1, 'yes': 2}flakesmMultiValueRepeatedKeyLiteralselfs    O/var/www/html/KUNJ/venv/lib/python3.13/site-packages/pyflakes/test/test_dict.pytest_duplicate_keysTest.test_duplicate_keys   #    "****	
    c                 &    U R                  S5        g )Nz{b'a': 1, u'a': 2}r
   r   s    r   (test_duplicate_keys_bytes_vs_unicode_py3-Test.test_duplicate_keys_bytes_vs_unicode_py3   s    ()r   c                 b    U R                  S[        R                  [        R                  5        g )Nz{1: b'a', 1: u'a'}r	   r   s    r   *test_duplicate_values_bytes_vs_unicode_py3/Test.test_duplicate_values_bytes_vs_unicode_py3   #     ****	
r   c                     U R                  S[        R                  [        R                  [        R                  [        R                  5        g )Nz&{'yes': 1, 'yes': 2, 'no': 2, 'no': 3}r	   r   s    r   test_multiple_duplicate_keys!Test.test_multiple_duplicate_keys   s5    4********	
r   c                 b    U R                  S[        R                  [        R                  5        g )Nz`
            def f(thing):
                pass
            f({'yes': 1, 'yes': 2})
            r	   r   s    r   test_duplicate_keys_in_function$Test.test_duplicate_keys_in_function%   '    
 ****	
r   c                 b    U R                  S[        R                  [        R                  5        g )Nzlambda x: {(0,1): 1, (0,1): 2}r	   r   s    r   test_duplicate_keys_in_lambda"Test.test_duplicate_keys_in_lambda0   s#    ,****	
r   c                 b    U R                  S[        R                  [        R                  5        g )Nz{(0,1): 1, (0,1): 2}r	   r   s    r   test_duplicate_keys_tuplesTest.test_duplicate_keys_tuples7   r   r   c                 b    U R                  S[        R                  [        R                  5        g )Nz{(0,1): 1, (0,1.0): 2}r	   r   s    r   (test_duplicate_keys_tuples_int_and_float-Test.test_duplicate_keys_tuples_int_and_float>   s#    $****	
r   c                 b    U R                  S[        R                  [        R                  5        g )Nz{1: 1, 1: 2}r	   r   s    r   test_duplicate_keys_intsTest.test_duplicate_keys_intsE   s#    ****	
r   c                 b    U R                  S[        R                  [        R                  5        g )Nz{True: 1, True: 2}r	   r   s    r   test_duplicate_keys_boolsTest.test_duplicate_keys_boolsL   r   r   c                 b    U R                  S[        R                  [        R                  5        g )Nz{False: 1, False: 2}r	   r   s    r   test_duplicate_keys_bools_false$Test.test_duplicate_keys_bools_falseS   s#    "****	
r   c                 b    U R                  S[        R                  [        R                  5        g )Nz{None: 1, None: 2}r	   r   s    r   test_duplicate_keys_noneTest.test_duplicate_keys_none[   r   r   c                 b    U R                  S[        R                  [        R                  5        g )Nz8
            a = 1
            {a: 1, a: 2}
            )r
   r   MultiValueRepeatedKeyVariabler   s    r   test_duplicate_variable_keys!Test.test_duplicate_variable_keysb   s'     ++++	
r   c                 b    U R                  S[        R                  [        R                  5        g )NzJ
            a = 1
            b = 2
            {1: a, 1: b}
            r	   r   s    r   test_duplicate_variable_values#Test.test_duplicate_variable_valuesl   r"   r   c                 b    U R                  S[        R                  [        R                  5        g )NzJ
            a = 1
            b = 1
            {1: a, 1: b}
            r	   r   s    r   )test_duplicate_variable_values_same_value.Test.test_duplicate_variable_values_same_valuew   s)     	
 ****	
r   c                 b    U R                  S[        R                  [        R                  5        g)z
These do look like different values, but when it comes to their use as
keys, they compare as equal and so are actually duplicates.
The literal dict {1: 1, 1.0: 1} actually becomes {1.0: 1}.
z(
            {1: 1, 1.0: 2}
            Nr	   r   s    r    test_duplicate_key_float_and_int%Test.test_duplicate_key_float_and_int   s)     	 ****	
r   c                 &    U R                  S5        g )Nz&
        {'yes': 1, 'yes': 1}
        r   r   s    r   &test_no_duplicate_key_error_same_value+Test.test_no_duplicate_key_error_same_value         	r   c                 &    U R                  S5        g )Nz%
        {'yes': 1, 'no': 2}
        r   r   s    r   test_no_duplicate_key_errors!Test.test_no_duplicate_key_errors   rH   r   c                 &    U R                  S5        g )Nz{(0,1): 1, (0,2): 1}r   r   s    r   0test_no_duplicate_keys_tuples_same_first_element5Test.test_no_duplicate_keys_tuples_same_first_element   s    *+r   c                 &    U R                  S5        g )Nz^
        def test(thing):
            pass
        test({True: 1, None: 2, False: 1})
        r   r   s    r   &test_no_duplicate_key_errors_func_call+Test.test_no_duplicate_key_errors_func_call         	r   c                 &    U R                  S5        g )Nz{True: 1, None: 2, False: 1}r   r   s    r   )test_no_duplicate_key_errors_bool_or_none.Test.test_no_duplicate_key_errors_bool_or_none   s    23r   c                 &    U R                  S5        g )Nz
        {1: 1, 2: 1}
        r   r   s    r   !test_no_duplicate_key_errors_ints&Test.test_no_duplicate_key_errors_ints   rH   r   c                 &    U R                  S5        g )NzN
        test = 'yes'
        rest = 'yes'
        {test: 1, rest: 2}
        r   r   s    r   !test_no_duplicate_key_errors_vars&Test.test_no_duplicate_key_errors_vars   rR   r   c                 &    U R                  S5        g )Nz&
        {(0,1): 1, (0,2): 1}
        r   r   s    r   #test_no_duplicate_key_errors_tuples(Test.test_no_duplicate_key_errors_tuples   rH   r   c                 &    U R                  S5        g )Nzl
        class Test():
            pass
        f = Test()
        f.a = 1
        {f.a: 1, f.a: 1}
        r   r   s    r   0test_no_duplicate_key_errors_instance_attributes5Test.test_no_duplicate_key_errors_instance_attributes   s      	r    N)__name__
__module____qualname____firstlineno__r   r   r   r   r    r$   r'   r*   r-   r0   r3   r6   r:   r=   r@   rC   rF   rJ   rM   rP   rT   rW   rZ   r]   r`   __static_attributes__rb   r   r   r   r   	   s    
*

	








	




,4

r   r   N)__doc__pyflakesr   r   pyflakes.test.harnessr   r   rb   r   r   <module>rk      s     # *x8 xr   