403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/traitlets/config/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/traitlets/config/tests/__pycache__/test_loader.cpython-311.pyc
�

�Uc(X���dZddlZddlZddlZddlmZddlmZddlm	Z	ddl
Z
ddlmZm
Z
mZmZmZddlmZddlmZmZmZmZmZmZmZd	Zd
ZdZddlZejd��Z e �!d��Gd
�de	��Z"d�Z#Gd�de��Z$Gd�de��Z%Gd�de	��Z&Gd�de��Z'Gd�de	��Z(Gd�de��Z)Gd�de)��Z*Gd�de(��Z+Gd �d!e	��Z,dS)"z!Tests for traitlets.config.loader�N)�chain)�mkstemp)�TestCase)�Dict�Integer�List�Tuple�Unicode)�Configurable)�ArgParseConfigLoader�Config�JSONFileConfigLoader�KeyValueConfigLoader�KVArgParseConfigLoader�LazyConfigValue�PyFileConfigLoaderzj
c = get_config()
c.a=10
c.b=20
c.Foo.Bar.value=10
c.Foo.Bam.value=list(range(10))
c.D.C.value='hi there'
z�
{
  "version": 1,
  "a": 10,
  "b": 20,
  "Foo": {
    "Bam": {
      "value": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
    },
    "Bar": {
      "value": 10
    }
  },
  "D": {
    "C": {
      "value": "hi there"
    }
  }
}
z
{
  "version": 2
}
�devnullc�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�
TestFileCLc��|�|jd��|�|jd��|�|jjjd��|�|jjjttd������|�|j	j
jd��dS)N�
��hi there)�assertEqual�a�b�Foo�Bar�value�Bam�list�range�D�C)�self�configs  �D/usr/lib/python3/dist-packages/traitlets/config/tests/test_loader.py�_check_confzTestFileCL._check_confGs��������2�&�&�&������2�&�&�&�������-�r�2�2�2�������-�t�E�"�I�I���?�?�?�������)�:�6�6�6�6�6�c�2�tdd���\}}tj|d��}|�t��|���t
|t���}|���}|�	|��dS)Nz.py�μnïcø∂e��prefix�w��log)
r�os�fdopen�write�pyfile�closerr0�load_configr(�r%�fd�fname�f�clr&s      r'�test_pythonzTestFileCL.test_pythonNs����E�.�9�9�9�	��E��I�b�#����	�������	���	�	�	�
��3�
/�
/�
/�����!�!������ � � � � r)c�2�tdd���\}}tj|d��}|�t��|���t
|t���}|���}|�	|��dS�N�.jsonr+r,r.r/)
rr1r2r3�	json1filer5rr0r6r(r7s      r'�	test_jsonzTestFileCL.test_jsonXs����G�N�;�;�;�	��E��I�b�#����	���	����	���	�	�	�
!�%�S�
1�
1�
1�����!�!������ � � � � r)c���tdd���\}}tj|d��}|�d��|���t|t���}d}|5}||j_ddd��n#1swxYwY|�	|j
jj|��t|t���}|�	|j
jj|��dS)Nr?r+r,r.�{}r/�context_manager)rr1r2r3r5rr0�MyAttrrrr&)r%r8r9r:r;r�c�_s        r'�test_context_managerzTestFileCL.test_context_managerbs���G�N�;�;�;�	��E��I�b�#����	����
�
�
�	���	�	�	�
!�%�S�
1�
1�
1��!��
�	#�1�"�A�H�N�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	
�����)�/��7�7�7�
!��C�0�0�0�������)�/��7�7�7�7�7s�-
B�B
�
B
c��tdd���\}}tj|d��}|�d��|���t|t���5}d|j_ddd��n#1swxYwY|�	t��5t|t���5}d�|j_ddd��n#1swxYwYddd��n#1swxYwYt|t���}|���}|jjdksJ�d	|jvsJ�dS)
Nr?r+r,r.rCr/�c��|S�N�)�xs r'�<lambda>z8TestFileCL.test_json_context_bad_write.<locals>.<lambda>�s��q�r)�	cant_json)
rr1r2r3r5rr0�Ar�assertRaises�	TypeErrorrPr6)r%r8r9r:r&�loader�cfgs       r'�test_json_context_bad_writez&TestFileCL.test_json_context_bad_writevs����G�N�;�;�;�	��E��I�b�#����	����
�
�
�	���	�	�	�
!�%�S�
1�
1�
1�	�V��F�H�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	1�	1�%�e��5�5�5�
1��%0�[���"�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1����
1�
1�
1�
1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�&�e��5�5�5��� � �"�"���u�w�!�|�|�|�|��#�%�'�'�'�'�'�'sH�)
B�B�	B�'C/�>C�C/�C	�C/�C	� C/�/C3�6C3c��t��}t��}|�|�|��i��d|j_d|j_|�|�|��i��d|j_|�|�|��i��d|j_|�|�|��dddii��|�|�|��dddii��d|j_|�|�|��ddd	d
�i��dS)NrJ�rrQ�trait1z1 ignored, using 0z0 ignored, using 1�z2 ignored, using 3)rY�trait2)r
r�
collisionsrQrYr[)r%rrs   r'�test_collisionzTestFileCL.test_collision�s\���H�H���H�H��������a���"�-�-�-����
����
�������a���"�-�-�-����
�������a���"�-�-�-����
����
�L�L��O�O���2��
�	
�	
�	
�	
���
�L�L��O�O���2��
�	
�	
�	
����
����
�L�L��O�O��2�2���
�	
�	
�	
�	
�	
r)c�n�tdd���\}}tj|d��}|�t��|���t
|t���}|�t��5|�
��ddd��dS#1swxYwYdSr>)rr1r2r3�	json2filer5rr0rR�
ValueErrorr6)r%r8r9r:r;s     r'�test_v2raisezTestFileCL.test_v2raise�s����G�N�;�;�;�	��E��I�b�#����	���	����	���	�	�	�
!�%�S�
1�
1�
1��
�
�
�z�
*�
*�	�	��N�N����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�B*�*B.�1B.N)
�__name__�
__module__�__qualname__r(r<rArHrVr]rarMr)r'rrFs~������7�7�7�!�!�!�!�!�!�8�8�8�((�(�(�$#
�#
�#
�J����r)rc�`�	t|��S#t$rt|��cYSwxYwrL)�int�	Exception�str)�vs r'�_parse_int_or_strrj�s<����1�v�v�
�������1�v�v�
�
�
����s��-�-c��eZdZdd�ZdS)�	MyLoader1Nc�f�|j}|�dddt���|�ddt���|�ddd	�
��|�dt���|�d
dt���|�ddt���dS)Nz-fz--fooz
Global.foo)�dest�typez-bzMyClass.barz-n�n�
store_true)rn�actionz
Global.bam)roz--list1�append)rrroz--list2�+)�nargsro)�parser�add_argumentrhrfrj)r%�aliases�flags�classes�ps     r'�_add_argumentszMyLoader1._add_arguments�s����K��	���t�W�<�c��B�B�B�	���t�-�c��:�:�:�	���t�#�l��;�;�;�	���|�#��.�.�.�	���y��8I��J�J�J�	���y��#��6�6�6�6�6r)�NNN�rbrcrdr|rMr)r'rlrl�s(������7�7�7�7�7�7r)rlc��eZdZdd�ZdS)�	MyLoader2Nc���|j�d���}|�d��}|�dd���|�d��}|�d��dS)N�subparser_name)rn�1z-xzGlobal.x�2�y)rv�add_subparsers�
add_parserrw)r%rxryrz�
subparsers�
subparser1�
subparser2s       r'r|zMyLoader2._add_arguments�st���[�/�/�5E�/�F�F�
��*�*�3�/�/�
�����:��6�6�6��*�*�3�/�/�
�����$�$�$�$�$r)r}r~rMr)r'r�r��s(������%�%�%�%�%�%r)r�c�&�eZdZd�Zd�Zd�Zd�ZdS)�TestArgParseCLc��t��}|�d�����}|�|jjd��|�|jjd��|�|jd��|�|jj	d��|�dg��}|�t|�����dg��|�t|j�����dg��|�|jj	d��dS)N�-f hi -b 10 -n wow�hirT�wow�Global�bam)rlr6�splitrr��foo�MyClass�barrpr�r!�keys�r%r;r&s   r'�
test_basiczTestArgParseCL.test_basic�s��
�[�[����� 4� :� :� <� <�=�=�������*�D�1�1�1������+�R�0�0�0������4�(�(�(������*�E�2�2�2������(�(������f�k�k�m�m�,�,�x�j�9�9�9�����f�m�0�0�2�2�3�3�e�W�=�=�=������*�E�2�2�2�2�2r)c��t��}|�d�����}|�|jd��|�|jd��|�d�����}|�|jd��|�|jjd��dS)Nz	2 frobbler��frobblez1 -x frobbler�)r�r6r�rr�r�r�rNr�s   r'�test_add_argumentsz!TestArgParseCL.test_add_arguments�s���
�[�[������ 1� 1� 3� 3�4�4������.��4�4�4������9�-�-�-����� 4� 4� 6� 6�7�7������.��4�4�4�������)�4�4�4�4�4r)c�h�td������}|���}|�|jjd��|�|jjd��|�|jd��|�|jj	d��dS)Nr�)�argvr�rTr�)
rlr�r6rr�r�r�r�rpr�r�s   r'�	test_argvzTestArgParseCL.test_argv�s���
�0�6�6�8�8�
9�
9�
9�����!�!�������*�D�1�1�1������+�R�0�0�0������4�(�(�(������*�E�2�2�2�2�2r)c��t��}|�d�����}|�t	|j�����dg��|�|jjd��|�|jddg��|�|j	gd���dS)Nz%--list1 1 wow --list2 1 2 3 --list1 Br�r�rJ�B)rJrXrZ)
rlr6r�rr!r�r�r��list1�list2r�s   r'�test_list_argszTestArgParseCL.test_list_args�s���
�[�[����� G� M� M� O� O�P�P������f�m�0�0�2�2�3�3�e�W�=�=�=������*�E�2�2�2�������3�x�0�0�0������y�y�y�1�1�1�1�1r)N)rbrcrdr�r�r�r�rMr)r'r�r��sP������
3�
3�
3�5�5�5�3�3�3�2�2�2�2�2r)r�c�&�eZdZed���Zed���Zed���Zee��d���Z	e
d���Ze
e��e��d���Ze
e��e��e��d�d���Z
dS)r$T�r&)�	key_trait�value_traitr&)rfrh)r��per_key_traitsr&N)rbrcrdr
�	str_traitr�	int_traitr�
list_trait�list_of_intsr�
dict_trait�dict_of_ints�
dict_multirMr)r'r$r$�s���������t�$�$�$�I���t�$�$�$�I���T�"�"�"�J��4���	�	�$�/�/�/�L���T�"�"�"�J��4��'�)�)��G�I�I�����L�
���'�)�)��7�9�9��7�9�9�
�
��
���J�J�Jr)r$c�H�eZdZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
S)�TestKeyValueCLc��|�t���}|�d�����}t	|���}|jdksJ�|jdksJ�|jddgksJ�dS)Nr/z<--C.str_trait=all --C.int_trait=5 --C.list_trait=["hello",5]r��all��hello)�klassr0r6r�r$r�r�r�)r%r;r&rFs    r'�	test_evalzTestKeyValueCL.test_evals���
�Z�Z�C�Z�
 �
 �����J�P�P�R�R�
�
��
�V������{�e�#�#�#�#��{�a������|���|�+�+�+�+�+�+r)c���|�t���}d�t�d��D��}|�|��}|jdksJ�|jdksJ�|jjj	dksJ�|�
|jjj	d��|�
t���
|jjj	��d��dS)Nr/c�R�g|]$}|�d���d|dd�z��%S)zc.�--rXN)�
startswith)�.0�ss  r'�
<listcomp>z-TestKeyValueCL.test_basic.<locals>.<listcomp>s5��O�O�O��A�L�L��<N�<N�O��q����u��O�O�Or)�
�10�20zlist(range(10))r)r�r0r4r�r6rrrrrrr r
�from_stringr#r$�r%r;r�r&s    r'r�zTestKeyValueCL.test_basics���
�Z�Z�C�Z�
 �
 ��O�O�f�l�l�4�&8�&8�O�O�O������%�%���x�4������x�4������z�~�#�t�+�+�+�+�������-�/@�A�A�A�������.�.�v�x�z�/?�@�@�*�M�M�M�M�Mr)c��|�t���}gd�}|�|��}t��}|�|�|j��tj�	d����|�|�|j
��tj�	d����|�|�|j��tj�	d����|�|�|j��d��dS)Nr/)z--a=~/1/2/3z--b=~z--c=~/z--d="~/"�~/1/2/3�~z~/)
r�r0r6r
rr�rr1�path�
expanduserrrF�d)r%r;r�r&�us     r'�test_expanduserzTestKeyValueCL.test_expanduser's��
�Z�Z�C�Z�
 �
 ��=�=�=������%�%���I�I��������v�x�0�0�"�'�2D�2D�Y�2O�2O�P�P�P�������v�x�0�0�"�'�2D�2D�S�2I�2I�J�J�J�������v�x�0�0�"�'�2D�2D�T�2J�2J�K�K�K�������v�x�0�0�$�7�7�7�7�7r)c���|�t���}|�gd���}|�|jddg��|jdksJ�|jdksJ�|�gd���}|�|jdd	g��|�t���}|�gd
���}|�|jddg��dS)
Nr/)�--a=5rr��--c=10rr��5r�)r�r�r�r�r�)�extraz--a=2z--c=1r��-r�r�)r�r0r6r�
extra_argsrrFr�s   r'�test_extra_argszTestKeyValueCL.test_extra_args1s���
�Z�Z�C�Z�
 �
 ����� =� =� =�>�>��������c�
�3�3�3��x�3������x�4�������� 9� 9� 9�:�:��������(�(;�<�<�<�
�Z�Z�C�Z�
 �
 ����� F� F� F�G�G��������#��7�7�7�7�7r)c���|�t���}dg}|�|��}t||j��|�|jd��dS)Nr/�--a=épsîlön�
épsîlön)r�r0r6�printr�rrr�s    r'�test_unicode_argsz TestKeyValueCL.test_unicode_args>s^��
�Z�Z�C�Z�
 �
 �� �!������%�%��
�f�b�m�$�$�$������<�0�0�0�0�0r)c���|�t���}gd�}|�|��}|jjddgksJ�t|���}|jddgksJ�dS)Nr/)�--C.list_traitrNr�r�rNr�r��r�r0r6r$r��r%r;r�r&rFs     r'�test_list_appendzTestKeyValueCL.test_list_appendEsx��
�Z�Z�C�Z�
 �
 ��=�=�=������%�%���x�"�s�C�j�0�0�0�0�
�V������|��S�z�)�)�)�)�)�)r)c��|�t���}ddg}|�|��}t|���}|jdgksJ�dS)Nr/r�rNr�r�r�s     r'�test_list_single_itemz$TestKeyValueCL.test_list_single_itemMs[��
�Z�Z�C�Z�
 �
 �� �#�&������%�%��
�V������|��u�$�$�$�$�$�$r)c��|�t���}gd�}|�|��}t|���}|jddd�ksJ�dS)Nr/)�--C.dict_traitzx=5r�zy=10r�r�r�)rNr�)r�r0r6r$r�r�s     r'�	test_dictzTestKeyValueCL.test_dictTsb��
�Z�Z�C�Z�
 �
 ��B�B�B������%�%��
�V������|�S�t�4�4�4�4�4�4�4�4r)c��|�t���}gd�}|�|��}t|���}|jddd�ksJ�dS)Nr/)�--C.dict_of_intsz1=2r�z3=4r�rX�)rJrZ)r�r0r6r$r�r�s     r'�test_dict_key_traitsz#TestKeyValueCL.test_dict_key_traits[s`��
�Z�Z�C�Z�
 �
 ��E�E�E������%�%��
�V������~�Q�1���-�-�-�-�-�-r)N)rbrcrdrr�r�r�r�r�r�r�r�r�r�rMr)r'r�r�s������� �E�,�,�,�	N�	N�	N�8�8�8�8�8�8�1�1�1�*�*�*�%�%�%�5�5�5�.�.�.�.�.r)r�c��eZdZe���d���Zee�����dd���Ze���dd���Ze	���d���Z
dS)�CBaseTr��*�r&�multiplicityrsN)rbrcrdr�tagrrrrFr�adictrMr)r'r�r�cs�����������
�
�$�
���A���W�W�Y�Y�����4�c��:�:�A�����
�
�$�X�
�6�6�A��D�F�F�J�J�d�J�#�#�E�E�Er)r�c���eZdZe���d���Ze���dd���Ze���dd���ZdS)�CSubTr�rtr�r�N)	rbrcrdr	r�r��er�bdictrMr)r'r�r�js]������
������4�� � �A�
������4�c��2�2�A��D�F�F�J�J�d��J�5�5�E�E�Er)r�c�N�eZdZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�ZdS)�TestArgParseKVCLc��|�t���}ddg}|�|td������}|jjdksJ�dS�Nr/�-cr�zIPython.command_to_run�rF�rx�r�r0r6�dict�IPython�command_to_runr�s    r'�test_no_cast_literalsz&TestArgParseKVCL.test_no_cast_literalss�[��
�Z�Z�C�Z�
 �
 ���c�{������d�5M�.N�.N�.N��O�O���~�,��3�3�3�3�3�3r)c��|�t���}ddg}|�|td������}|jjdksJ�dSr�r�r�s    r'�test_int_literalsz"TestArgParseKVCL.test_int_literalszr�r)c�T�|�t���}dg}|�|td������}t	t|����t	|j��t	|j��|�|jj	d��dS)Nr/r��A.a)rr�r�)
r�r0r6r�r�r�rxrrQrr�s    r'�test_unicode_aliasz#TestArgParseKVCL.test_unicode_alias�s���
�Z�Z�C�Z�
 �
 �� �!������d�U�m�m�m��<�<��
�d�6�l�l����
�b�m����
�b�j����������\�2�2�2�2�2r)c�t�|�t���}gd�}|�|tdd������}Gd�dt��}||�	��}|�|jtj�	d
����|�|j
d
��dS)Nr/)z-ar�z--bz	'~/1/2/3'rzA.b�rrr�c�>�eZdZed���Zed���ZdS)�,TestArgParseKVCL.test_expanduser2.<locals>.ATr�N)rbrcrdr
rrrMr)r'rQr�s2��������t�$�$�$�A���t�$�$�$�A�A�Ar)rQr�r�)r�r0r6r�rrrr1r�r�r)r%r;r�r&rQrs      r'�test_expanduser2z!TestArgParseKVCL.test_expanduser2�s���
�Z�Z�C�Z�
 �
 ��4�4�4������d�U�e�.D�.D�.D��E�E��	%�	%�	%�	%�	%��	%�	%�	%�
�A�V����������b�g�0�0��;�;�<�<�<������i�(�(�(�(�(r)c���|�t���}ddg}|�|td������}|�|jjd��dS)Nr/r�za=5zA.cr�r�)r�r0r6r�rrQrFr�s    r'r�zTestArgParseKVCL.test_eval�s[��
�Z�Z�C�Z�
 �
 ���e�}������d�U�m�m�m��<�<��������U�+�+�+�+�+r)c��|�tttf���}ddd�}d���}|�||���}|jgd�ksJ�|jjdd	gksJ�|jjd
dgksJ�|�	|jj
dd
g��|jjdksJ�|jjdksJ�dS)N�r0rz�CBase.czCSub.e)�a3�a5z{--CBase.a A --CBase.a 2 --CBase.b 1 --CBase.b 3 --a3 AA --CBase.c BB --CSub.d 1 --CSub.d BBB --CSub.e 1 --CSub.e=bcd a b c r��rrrFrQr�rJrZ�AA�BB)r��BBB)r��bcd)
r�r0r�r�r�r6r�rrrrFr�r��r%r;rxr�r&s     r'�test_seq_traitsz TestArgParseKVCL.test_seq_traits�s���
�Z�Z�C�%���Z�
7�
7��"�(�3�3��
E�
�%�'�'�	
�����g��6�6���}����/�/�/�/��|�~�#�s��+�+�+�+��|�~�!�Q��'�'�'�'�������$���6�6�6��{�}��,�,�,�,��{�}��,�,�,�,�,�,r)c���|�ttf���}ddi}ddg}|�||���}|�|jjdg��dS)Nr�seqoptr
z--seqopt�r�)r�r0r�r6rrFrs     r'�#test_seq_traits_single_empty_stringz4TestArgParseKVCL.test_seq_traits_single_empty_string�sd��
�Z�Z�C�%��Z�
2�
2���Y�'���B�������g��6�6��������"��.�.�.�.�.r)c��|�tttf���}ddd�}gd�}|�||���}t|���}|jdd	d
d�ksJ�|jdd
d�ksJ�dS)NrzCBase.adictz
CSub.bdict)r#�E)	�-Dzk1=v1z-D=k2=2rzk3=v 3�-Ezk=vrz22=222r�r��v1r�zv 3)�k1�k2�k3ri�222)�k�22)r�r0r�r�r6r�r�)r%r;rxr�r&rFs      r'�test_dict_traitsz!TestArgParseKVCL.test_dict_traits�s���
�Z�Z�C�%���Z�
7�
7��%�L�9�9��V�V�V������g��6�6���������w��S��>�>�>�>�>�>��w��5�1�1�1�1�1�1�1�1r)c�Z�ddi}|�t|���}gd�}gd�}tt|��dz��D]b}|dd�}|f|||�<t	t|���}|�|��}|jjgd�ksJ�|j	gd�ksJ��cdS)NrFzClass.trait)r0rx))r�r�)z--Class.trait=2)z--c=3)z
--Class.trait�4rrJ)r�r��3r()
r�r0r"�lenr!rr6�Class�traitr�)	r%rxr;�assignments�positionals�idx�
argv_partsr�r&s	         r'�test_mixed_seq_positionalz*TestArgParseKVCL.test_mixed_seq_positional�s����
�&��
�Z�Z�C��Z�
1�
1��]�]�]��%�o�o����[�)�)�A�-�.�.�	4�	4�C�$�Q�Q�Q��J�#.�.�J�s�3�w����z�*�+�+�D��^�^�D�)�)�F��<�%�)=�)=�)=�=�=�=�=��=�O�O�O�3�3�3�3�3�	4�	4r)c���|�t���}gd�}tjt��5|�|��ddd��dS#1swxYwYdS)zFSplitting positionals across flags is no longer allowed in traitlets 5r/)rz--Class.trait=5rN)r�r0�pytest�raises�
SystemExitr6)r%r;r�s   r'�test_split_positionalz&TestArgParseKVCL.test_split_positional�s���
�Z�Z�C�Z�
 �
 ��,�,�,��
�]�:�
&�
&�	!�	!��N�N�4� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�A�A �#A N)rbrcrdrr�r�rrr	r�rrr&r1r6rMr)r'r�r�ps�������"�E�4�4�4�4�4�4�3�3�3�)�)�)�,�,�,�-�-�-� /�/�/�2�2�2�
4�
4�
4�!�!�!�!�!r)r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�
TestConfigc��t��}d|_|�|jd��|�d|vd��dS)NrrF)r
rr)r%rFs  r'�test_setgetzTestConfig.test_setget�sJ���H�H����������b�!�!�!�������5�)�)�)�)�)r)c��t��}|�d|��|�d��rJ�|j}d|_|�d|��|�d��sJ�|�|jjd��|`|�|jt����dS)NrQr)r
�assertNotIn�_has_sectionrQr��assertInr)r%rFrQs   r'�test_auto_sectionzTestConfig.test_auto_section�s����H�H������a� � � ��>�>�#�&�&�&�&�&�
�C������
�
�c�1�����~�~�c�"�"�"�"�"�������*�-�-�-�
�C������f�h�h�'�'�'�'�'r)c��t��}t��}d|_d|j_|�|��|�|jjd��|�|jd��d|j_|�|��|�|jjd��dS)Nr)r
r�r�mergerr�r%�c1�c2s   r'�test_merge_doesnt_existz"TestConfig.test_merge_doesnt_exist�s���
�X�X��
�X�X��������
�
�������������R�(�(�(�������$�$�$����
�
�������������R�(�(�(�(�(r)c��t��}t��}d|j_d|j_d|j_d|j_|�|��|�|jjd��|�|jjd��|�|jjd��d|jj_|�|��|�|jjjd��dS)Nr�r�()r
rr�r�r�rArr rBs   r'�test_merge_existszTestConfig.test_merge_exists�s���
�X�X��
�X�X�����
����
����
����
�
�������������R�(�(�(�������R�(�(�(�������R�(�(�(����
��
���������������,�,�,�,�,r)c��t��}d|j_d|j_d|_td��|_tjd��|j	_
tjd��|j	_tj|��}|�||��|�||u��|�|j|ju��|�|j	|j	u��|�|j	j
|j	j
u��|�|j	j|j	ju��dS)NrrG�asdf�test)r
rr�r�rr"r�logging�Logger�Test�logger�	getLogger�
get_logger�copy�deepcopyr�
assertTruerBs   r'�
test_deepcopyzTestConfig.test_deepcopys��
�X�X�����
����
�����R�y�y��� ���/�/����$�.�v�6�6����
�]�2�
�
������R� � � �����"��%�%�%������b�f�,�-�-�-������r�w�.�/�/�/�������"�'�.�8�9�9�9������*�b�g�.@�@�A�A�A�A�Ar)c�0�t��}d|_dS)N�json)r
�format�r%rCs  r'�test_builtinzTestConfig.test_builtins��
�X�X����	�	�	r)c��tdddii��}|�|jjt��|�|jjd��dS�Nrr�rJ)r
rr�	__class__r�rZs  r'�
test_fromdictzTestConfig.test_fromdictsS��
�U�U�A�J�'�
(�
(�������)�6�2�2�2�������Q�'�'�'�'�'r)c��t��}tdddii��}|�|��|�|jjt��|�|jjd��dSr])r
rArrr^r�rBs   r'�test_fromdictmergezTestConfig.test_fromdictmergesk��
�X�X��
�U�U�A�J�'�
(�
(��
������������)�6�2�2�2�������Q�'�'�'�'�'r)c�|�tdddii��}tdddii��}|�|��|�|jjt��|�|jjd��|�|jjd��|�d|j��dS)Nr�bazrXr�rJ)r
rArrr^r�rcr<rBs   r'�test_fromdictmerge2zTestConfig.test_fromdictmerge2"s���
�U�U�A�J�'�
(�
(��
�U�U�A�J�'�
(�
(��
������������)�6�2�2�2�������Q�'�'�'�������Q�'�'�'�������'�'�'�'�'r)c��tdddii��}tdddii��}|�d|��|�d|��|�d|��|�d|��dS)NrrcrXr�rJzFoo.bazzFoo.bar)r
r>r<rBs   r'�
test_containszTestConfig.test_contains+s���
�U�U�A�J�'�
(�
(��
�U�U�A�J�'�
(�
(���
�
�e�R� � � ��
�
�i��$�$�$��
�
�i��$�$�$�����B�'�'�'�'�'r)c��t��}d|j_tj|��}tj|��}|�||��dS�NrJ)r
rr��pickle�dumps�loadsr)r%rU�pcfg�cfg2s    r'�test_pickle_configzTestConfig.test_pickle_config3sN���h�h�������|�C� � ���|�D�!�!������s�#�#�#�#�#r)c��t��}|�d|��|j}t|t��sJ�|�d|��dS�Nr)r
r<r�
isinstancer>�r%rUrs   r'�test_getattr_sectionzTestConfig.test_getattr_section:sX���h�h�������$�$�$��g���#�v�&�&�&�&�&��
�
�e�S�!�!�!�!�!r)c��t��}|�d|��|d}t|t��sJ�|�d|��dSrp)r
r<rqr>rrs   r'�test_getitem_sectionzTestConfig.test_getitem_sectionAsZ���h�h�������$�$�$��%�j���#�v�&�&�&�&�&��
�
�e�S�!�!�!�!�!r)c��t��}|�d|��|j}t|t��sJ�|�d|��dS�Nr�)r
r<r�rqrr>�r%rUr�s   r'�test_getattr_not_sectionz#TestConfig.test_getattr_not_sectionHsX���h�h�������$�$�$��g���#��/�/�/�/�/��
�
�e�S�!�!�!�!�!r)c�2�t��}|�d|��|�t��5|j}ddd��n#1swxYwY|�d|��|�t
|��d��dS)N�_repr_html_r)r
r<rR�AttributeErrorr{rr*)r%rUrGs   r'�test_getattr_private_missingz'TestConfig.test_getattr_private_missingOs����h�h�������,�,�,�
�
�
�~�
.�
.�	 �	 ���A�	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ������,�,�,�����S���1�%�%�%�%�%s�A�A�Ac�B�t��}|jj�d��t	|��}d|vsJ�d|vsJ�d|vsJ�d|vsJ�|jj�dg��t	|��}t	ddg��|vsJ�d|vsJ�dS)NrJz<LazyConfigValue�extendz [1]}>zvalue=r)r
r+�lazyrs�repr�	get_value)r%rU�cfg_repr�repr2s    r'�test_lazy_config_reprz TestConfig.test_lazy_config_reprWs����h�h���	����a� � � ���9�9��!�X�-�-�-�-��8�#�#�#�#��8�#�#�#�#��x�'�'�'�'��	�� � �!��%�%�%��S�	�	���Q��F�|�|�u�$�$�$�$��5� � � � � � r)c��t��}|�d|��|d}t|t��sJ�|�d|��dSrw)r
r<rqrr>rxs   r'�test_getitem_not_sectionz#TestConfig.test_getitem_not_sectiondsZ���h�h�������$�$�$��%�j���#��/�/�/�/�/��
�
�e�S�!�!�!�!�!r)c��t��}t��}g|j_|�|��|jj�d��|�|j|j��|�|jjdg��|�|jjdg��dSrh)r
rr,rArs�assertIsr)r%rFrDs   r'�test_merge_no_copieszTestConfig.test_merge_no_copiesks����H�H��
�X�X������	�������
�����A�����
�
�a�e�R�V�$�$�$�������q�c�*�*�*��������s�+�+�+�+�+r)c�J�t��}t��}dg|j_|jj�d��t��}|�|��|�|��|�|jjddg��dS)z�
        With multiple config files (systemwide and users), we want compounding.

        If systemwide overwirte and user append, we want both in the right
        order.
        rJrXN)r
rr,rsrAr�r%rCrDrFs    r'�test_merge_multi_lazyz TestConfig.test_merge_multi_lazyus����X�X��
�X�X���s����
�����A�����H�H��	�������	�������������q�!�f�-�-�-�-�-r)c�x�t��}t��}|jj�d��|jj�d��t��}|�|��|�|��|�|jjjddg��dS)z�
        With multiple config files (systemwide and users), we want compounding.

        If both are lazy we still want a lazy config.
        rJrXN)r
rr,rsrAr�_extendr�s    r'�test_merge_multi_lazyIIz"TestConfig.test_merge_multi_lazyII�s����X�X��
�X�X��
�����A����
�����A�����H�H��	�������	�������������,�q�!�f�5�5�5�5�5r)c�L�t��}t��}dg|j_|jj�dg��t��}|�|��|�|��|�|jjddg��dS)z�
        With multiple config files (systemwide and users), we want compounding.

        Prepend should prepend in the right order.
        rJrN)r
rr,�prependrArr�s    r'�test_merge_multi_lazy_IIIz$TestConfig.test_merge_multi_lazy_III�s����X�X��
�X�X���s����
�����a�S�!�!�!��H�H��	�������	�������������q�!�f�-�-�-�-�-r)c�|�t��}t��}|jj�dg��|jj�dg��t��}|�|��|�|��|�|jjjddg��dS)z�
        With multiple config files (systemwide and users), we want compounding.

        Both prepending should be lazy
        rJrN)r
rr,r�rAr�_prependr�s    r'�test_merge_multi_lazy_IVz#TestConfig.test_merge_multi_lazy_IV�s����X�X��
�X�X��
�����a�S�!�!�!�
�����a�S�!�!�!��H�H��	�������	�������������-��1�v�6�6�6�6�6r)c�X�t��}t��}ddd�|j_|jj�ddd���t��}|�|��|�|��|�|jjdddd���dS)z�
        With multiple config files (systemwide and users), we want compounding.

        dict update shoudl be in the right order.
        rJ��r�zrr)rrr�N�r
rr,�updaterArr�s    r'�test_merge_multi_lazy_update_Iz)TestConfig.test_merge_multi_lazy_update_I�s����X�X��
�X�X���R�(�(����
�����!�!�,�,�-�-�-��H�H��	�������	�������������A�A�B�&?�&?�@�@�@�@�@r)c�V�t��}t��}|jj�ddd���ddd�|j_t��}|�|��|�|��|�|jjddd���dS)��
        With multiple config files (systemwide and users), we want compounding.

        Later dict overwrite lazyness
        rrJrr�r�Nr�r�s    r'�test_merge_multi_lazy_update_IIz*TestConfig.test_merge_multi_lazy_update_II�s����X�X��
�X�X��
�����!�!�,�,�-�-�-��R�(�(�����H�H��	�������	�������������A�B�&7�&7�8�8�8�8�8r)c��t��}t��}|jj�ddd���|jj�ddd���t��}|�|��|�|��|�|jjjdddd���dS)r�rrJrr�r�)rr�rN)r
rr,r�rAr�_updater�s    r'� test_merge_multi_lazy_update_IIIz+TestConfig.test_merge_multi_lazy_update_III�s����X�X��
�X�X��
�����!�!�,�,�-�-�-�
�����!�"�-�-�.�.�.��H�H��	�������	�������������,�A�B�Q�.G�.G�H�H�H�H�Hr)N)rbrcrdr:r?rErIrVr[r_rardrfrnrsruryr}r�r�r�r�r�r�r�r�r�r�rMr)r'r8r8�s�������*�*�*�
(�
(�
(�
)�
)�
)�
-�
-�
-�B�B�B� ���(�(�(�
(�(�(�(�(�(�(�(�(�$�$�$�"�"�"�"�"�"�"�"�"�&�&�&�!�!�!�"�"�"�,�,�,�.�.�.�&6�6�6�$.�.�.�$7�7�7�$A�A�A�$9�9�9�$I�I�I�I�Ir)r8)-�__doc__rSr1ri�	itertoolsr�tempfiler�unittestrr3�	traitletsrrrr	r
�traitlets.configr�traitlets.config.loaderrr
rrrrrr4r@r_rMrQr0�setLevelrrjrlr�r�r$r�r�r�r�r8rMr)r'�<module>r�s-��'�'�
����	�	�	�	�
�
�
�
�������������������
�
�
�
�9�9�9�9�9�9�9�9�9�9�9�9�9�9�)�)�)�)�)�)�������������������
��
�	�,
�	������g��	�"�"�����Q����o�o�o�o�o��o�o�o�d���7�7�7�7�7�$�7�7�7�%�%�%�%�%�$�%�%�%�$2�$2�$2�$2�$2�X�$2�$2�$2�N���������*Q.�Q.�Q.�Q.�Q.�X�Q.�Q.�Q.�h$�$�$�$�$�L�$�$�$�6�6�6�6�6�5�6�6�6�a!�a!�a!�a!�a!�~�a!�a!�a!�H^I�^I�^I�^I�^I��^I�^I�^I�^I�^Ir)

Youez - 2016 - github.com/yon3zu
LinuXploit