o
    b                     @   s\   d dl Z d dlZd dlmZ d dlmZmZ d dlmZ e j	d	ddZ
G dd deZdS )
    N)stdlib)CheckerTestCaseMessage)	UNDEFINEDc                 c   s<    |  ||| zd V  W | ||| d S | ||| w N)Zregister_transformZunregister_transform)managernode	transform	predicate r   b/var/www/secure340b-portal/env/lib/python3.10/site-packages/pylint/test/unittest_checker_stdlib.py_add_transform   s
   "r   c                   @   sB   e Zd ZejZdd Zdd Zdd Zdd Z	d	d
 Z
dd ZdS )TestStdlibCheckerc              	   C   s   ddd}t j}t |}t|t j|0 t d}|   | j| W d    n1 s/w   Y  W d    d S W d    d S 1 sGw   Y  d S )Nc                 s   s    t  }| |_|V  d S r   )astroidZ
AssignAttrparent)r   contextnew_noder   r   r   
infer_func'   s   
zRTestStdlibChecker.test_deprecated_no_qname_on_unexpected_nodes.<locals>.infer_funcz*
            call_something()
            r   )	r   ZMANAGERZinference_tipr   Nameextract_nodeassertNoMessageschecker
visit_call)selfr   r   r	   r   r   r   r   ,test_deprecated_no_qname_on_unexpected_nodes   s   
	

"z>TestStdlibChecker.test_deprecated_no_qname_on_unexpected_nodesc                 C   P   t d}| td|td | j| W d    d S 1 s!w   Y  d S )Nz?
        import copy, os
        copy.copy(os.environ)
        shallow-copy-environZmsg_idr   
confidencer   r   ZassertAddsMessagesr   r   r   r   r   r   r   r   r   test_copy_environ7   s   "z#TestStdlibChecker.test_copy_environc                 C   r   )Nzd
        from copy import copy as test_cp
        import os as o
        test_cp(o.environ)
        r   r   r   r    r   r   r   test_copy_environ_hiddenD   s   "z*TestStdlibChecker.test_copy_environ_hiddenc                 C   D   t d}|   | j| W d    d S 1 sw   Y  d S )NzQ
        import copy
        test_dict = {}
        copy.copy(test_dict)
        r   r   r   r   r   r    r   r   r   test_copy_dictS   s   
"z TestStdlibChecker.test_copy_dictc                 C   r#   )Nzp
        import copy
        from missing_library import MissingObject
        copy.copy(MissingObject)
        r$   r    r   r   r   test_copy_uninferable_   s   
"z'TestStdlibChecker.test_copy_uninferablec                 C   r#   )NzC
        import copy, os
        copy.deepcopy(os.environ)
        r$   r    r   r   r   test_deepcopy_environl   s   
"z'TestStdlibChecker.test_deepcopy_environN)__name__
__module____qualname__r   ZStdlibCheckerZCHECKER_CLASSr   r!   r"   r%   r&   r'   r   r   r   r   r      s    r   r   )
contextlibr   Zpylint.checkersr   Zpylint.testutilsr   r   Zpylint.interfacesr   contextmanagerr   r   r   r   r   r   <module>   s   