+
    Bio                        ^ RI HtHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ R	IHtHt ^ R
IHtHtHt ^ RIHtHt ]P<                  ! 4       ;_uu_ 4        ]P>                  ! R4       ^ RIH t  RRR4       R t!R t"R t# ! R R]4      t$ ! R R]4      t% ! R R]4      t&R#   + '       g   i     L<; i)    )redirect_stderrredirect_stdout)metadata)StringIO)JSONDecodeError)Path)dedent)TestCaseN)Draft4ValidatorDraft202012Validator)SchemaErrorValidationError_RefResolutionError)_LATEST_VERSIONvalidateignore)clic                  J   a  \        \        S 4      4      o  ! V 3R  lR4      pV# )c                   D   <a  ] tR t^t o R tV3R lt]R 4       tRtV t	R# )%fake_validator.<locals>.FakeValidatorc                    R # N )selfargskwargss   &*,W/var/www/html/photoedit/myenv/lib/python3.14/site-packages/jsonschema/tests/test_cli.py__init__.fake_validator.<locals>.FakeValidator.__init__    s        c                8   < S'       d   SP                  4       # . # r   )pop)r   instanceerrorss   &&r   iter_errors1fake_validator.<locals>.FakeValidator.iter_errors#   s    zz|#Ir    c                    R # r   r   r   schemas   &&r   check_schema2fake_validator.<locals>.FakeValidator.check_schema(   s    r    r   N)
__name__
__module____qualname____firstlineno__r   r%   classmethodr*   __static_attributes____classdictcell__)__classdict__r$   s   @r   FakeValidatorr      s#     		
 
	 
	r    r4   )listreversed)r$   r4   s   j r   fake_validatorr7      s$    (6"#F  r    c                    a  V 3R  lpV# )c                 Z   < SP                  V 4      pVf   \        V 4      h\        V4      # r   )getFileNotFoundErrorr   )pathcontentsall_contentss   & r   openfake_open.<locals>.open0   s/    ##D)#D))!!r    r   )r>   r?   s   f r   	fake_openrA   /   s    "
 Kr    c                      \         P                  ! V 4       \        R 4      h  \         d   p\	        T4      u Rp?# Rp?ii ; i)z.Tried and failed to capture a JSON dump error.N)jsonloadsRuntimeErrorr   str)non_jsonerrors   & r   _message_forrI   8   s>    M

8 KLL  5zs   # A
>AAc                   F  a  ] tR t^At o R]! 4       ^ 3R ltR0R ltR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R) t,R* t-R+ t.R, t/R- t0R. t1R/t2V t3R# )1TestCLINc                   \         P                  ! V4      pVP                  V4       V P                  \	        \         R 4      4       \        T;'       g    / 4      \         n         \        4       \        4       r\         P                  ! VVVVR7      p	\         =V P                  W\        RV RV	 RVP                  4        RVP                  4        R2	4      R7       VP                  4       VP                  4       3#   \         =i ; i)r?   )stdinstdoutstderrz.
                    Expected an exit code of z != z.

                    stdout: z

                    stderr: z
                )msg)r   
parse_argsupdateassertFalsehasattrrA   r?   r   runassertEqualr	   getvalue)
r   argvfilesrM   	exit_codeoverride	argumentsrN   rO   actual_exit_codes
   &&&&&,    r   run_cliTestCLI.run_cliB   s     NN4(	"f-.U[[b)		%ZF"ww	  V..7[=M<N O#__./ 0#__./ 0. 	 
	
  &//"333 s   &-C> >Dc                r    V P                  V P                  ! R/ VB \        V4      \        V4      34       R # )Nr   )rV   r^   r	   )r   rN   rO   r   s   &&&,r   assertOutputsTestCLI.assertOutputsb   s/    LL"6"F^VF^,	
r    c                    \        R ^R7      pV P                  \        R\        P                  ! VP
                  4      R7      \        V.4      . RO^RR7       R# )I am an error!r#   *{"does not": "matter since it is stubbed"}some_schemasome_instance12: I am an error!
rY   	validatorrX   rZ   rO   N-iri   rh   r   ra   dictrC   dumpsr#   r7   r   rH   s   & r   test_invalid_instanceTestCLI.test_invalid_instanceh   sR     02>H"jj8 %eW-7) 	 	
r    c                    \        R ^R7      pV P                  \        R\        P                  ! VP
                  4      R7      \        V.4      . RO^RR7       R# )rd   re   rf   rg   z                ===[ValidationError]===(some_instance)===

                I am an error!
                -----------------------------
            rk   Nrn   ri   --outputprettyrh   ro   rr   s   & r   #test_invalid_instance_pretty_output+TestCLI.test_invalid_instance_pretty_outputw   sT     02>H"jj8 %eW-M 	 	
r    c                    \        R ^R7      pV P                  \        R\        P                  ! VP
                  4      R7      \        V.4      . RO^RR7       R# )rd   re   rf   rg   rj   rk   N)rw   plainrn   ri   rh   ro   rr   s   & r   +test_invalid_instance_explicit_plain_output3TestCLI.test_invalid_instance_explicit_plain_output   sR     02>H"jj8 %eW-L) 	 	
r    c                    ^p\        RVR7      p\        RVR7      pV P                  \        R\        P                  ! V4      R7      \        W#.4      . R	O^RR7       R# )
   First errorre   Second errorrf   rg   zM                12: First error
                12: Second error
            rk   Nrm   r   ra   rp   rC   rq   r7   r   r#   firstseconds   &   r   %test_invalid_instance_multiple_errors-TestCLI.test_invalid_instance_multiple_errors   s`    A (CH"jj2 %e_57 	 	
r    c                    ^p\        RVR7      p\        RVR7      pV P                  \        R\        P                  ! V4      R7      \        W#.4      . R	O^RR7       R# )
r   r   re   r   rf   rg   a                  ===[ValidationError]===(some_instance)===

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

                Second error
                -----------------------------
            rk   Nrv   r   r   s   &   r   3test_invalid_instance_multiple_errors_pretty_output;TestCLI.test_invalid_instance_multiple_errors_pretty_output   s`    A (CH"jj2 %e_5M	 	 	
r    c           	        ^p\        RVR7      \        RVR7      .pRp\        RVR7      .pV P                  \        R\        P                  ! V4      \        P                  ! V4      R7      \        W$4      . RO^RR	7       R
# )r   An errorre   Another errorfooBOOMrf   rh   some_first_instancesome_second_instanceze                12: An error
                12: Another error
                foo: BOOM
            rk   N)rn   r   rn   r   rh   r   r   first_instancefirst_errorssecond_instancesecond_errorss   &    r   test_multiple_invalid_instances'TestCLI.test_multiple_invalid_instances   s    J@OnE
  (/JKH$(JJ~$>%)ZZ%@
 %\A  	 	
r    c           	        ^p\        RVR7      \        RVR7      .pRp\        RVR7      .pV P                  \        R\        P                  ! V4      \        P                  ! V4      R7      \        W$4      . RO^RR	7       R
# )r   r   re   r   r   r   rf   r   a                  ===[ValidationError]===(some_first_instance)===

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

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

                BOOM
                -----------------------------
            rk   N)rw   rx   rn   r   rn   r   rh   r   r   s   &    r   -test_multiple_invalid_instances_pretty_output5TestCLI.test_multiple_invalid_instances_pretty_output   s    J@OnE
  (/JKH$(JJ~$>%)ZZ%@
 %\A ! 	 	
r    c           	        ^p\        RVR7      \        RVR7      .pRp\        RVR7      .pV P                  \        R\        P                  ! V4      \        P                  ! V4      R7      \        W$4      . RO^RR	7       R
# )r   r   re   r   r   r   rf   r   z5:An error._-_.12::Another error._-_.12::BOOM._-_.foo:rk   N)--error-format&:{error.message}._-_.{error.instance}:rn   r   rn   r   rh   r   r   s   &    r   test_custom_error_format TestCLI.test_custom_error_format  s    J@OnE
  (/JKH$(JJ~$>%)ZZ%@
 %\A J! 	 	
r    c                F    V P                  \        R R7      R.^RR7       R# )z{"type": 12}rh   rh   O                12: 12 is not valid under any of the given schemas
            rY   rX   rZ   rO   Nra   rp   r   s   &r   test_invalid_schemaTestCLI.test_invalid_schema.  s*    >2 	 	
r    c           	     \   R ^/pV P                  \        4      ;_uu_ 4       p\        VRR7       RRR4       \        XP                  4      pV P                  \        \        P                  ! V4      R7      . RO^R\        V4      ,           R,           R7       R#   + '       g   i     Ls; i)	type r)   r#   Nr   %===[SchemaError]===(some_schema)===


-----------------------------
r   rw   rx   rh   	assertRaisesr   r   rF   	exceptionra   rp   rC   rq   r   r)   erH   s   &   r   !test_invalid_schema_pretty_output)TestCLI.test_invalid_schema_pretty_output9  s    "{++qFR0 ,AKK 4::f#5669e*56 	 
	
	 ,+s   BB+	c                F    V P                  \        R R7      R.^RR7       R# )z{"type": 12, "items": 57}r   rh   zF                57: 57 is not of type 'object', 'boolean'
            r   Nr   r   s   &r   #test_invalid_schema_multiple_errors+TestCLI.test_invalid_schema_multiple_errorsL  s+    #>? 	 	
r    c           	     `   R ^R^9/pV P                  \        4      ;_uu_ 4       p\        VRR7       RRR4       \        XP                  4      pV P                  \        \        P                  ! V4      R7      . R	O^R\        V4      ,           R,           R7       R#   + '       g   i     Ls; i)
r   itemsr   r   Nr   r   r   r   r   r   r   s   &   r   1test_invalid_schema_multiple_errors_pretty_output9TestCLI.test_invalid_schema_multiple_errors_pretty_outputW  s    "gr*{++qFR0 ,AKK 4::f#5669e*56 	 
	
	 ,+s   BB-	c                J    V P                  \        RRR7      . RO^RR7       R# )z^
"Validating" an instance that's invalid under an invalid schema
just shows the schema error.
z{"type": 12, "minimum": 30}13rg   r   r   Nrm   r   r   s   &r   )test_invalid_schema_with_invalid_instance1TestCLI.test_invalid_schema_with_invalid_instancej  s2    
 	9" 8 	 	
r    c           	        ^R^R^/r!V P                  \        4      ;_uu_ 4       p\        W!R7       RRR4       \        XP                  4      pV P                  \        \        P                  ! V4      \        P                  ! V4      R7      . R	O^R\        V4      ,           R,           R7       R#   + '       g   i     L; i)
   r   minimumr   Nrg   r   r   r   rw   rx   rn   ri   rh   r   )r   r#   r)   r   rH   s   &    r   7test_invalid_schema_with_invalid_instance_pretty_output?TestCLI.test_invalid_schema_with_invalid_instance_pretty_output|  s    Ir:&{++qF6 ,AKK  JJv."jj2 N9e*56 	 	
	 ,+s   B22C	c           
     |    V P                  \        R RRR7      . RO^RP                  \        R4      4      R7       R# )z{"minimum": 30}not valid JSON!12)rh   r   r   zw                Failed to parse 'first_instance': {}
                12: 12 is less than the minimum of 30
            r   N)rn   r   rn   r   rh   )ra   rp   formatrI   r   s   &r   -test_invalid_instance_continues_with_the_rest5TestCLI.test_invalid_instance_continues_with_the_rest  sG    -0 $
  |$567! 	 	
r    c                   ^R^R^/r!V P                  \        4      ;_uu_ 4        \        W!R7       RRR4       V P                  \	        \
        P                  ! V4      R7      . RO^RR7       R#   + '       g   i     LG; i)	r   r   r   r   Nr   z7:12 is not valid under any of the given schemas._-_.12:r   )r   r   rh   )r   r   r   ra   rp   rC   rq   )r   r#   r)   s   &  r   1test_custom_error_format_applies_to_schema_errors9TestCLI.test_custom_error_format_applies_to_schema_errors  sl    Ir:&{++F6 , 	4::f#56
 L 	 
	
 ,+s   A11B	c           	     h    R pV P                  \        RVR7      . RO^R\        V4       R2R7       R# )r   {}rg   z1                Failed to parse 'some_instance': 
            r   Nrm   ra   rp   rI   r   r#   s   & r   test_instance_is_invalid_JSON%TestCLI.test_instance_is_invalid_JSON  sE    $4x@722>x2H1I J 	 	
r    c                    V P                  \        R RR7      . RO^R7      w  rV P                  V4       V P                  RV4       V P	                  RV4       R# )r   r   rg   rh   rY   rX   rZ   z7(some_instance)===

Traceback (most recent call last):
Nr   r^   rp   rS   assertInassertNotInr   rN   rO   s   &  r   +test_instance_is_invalid_JSON_pretty_output3TestCLI.test_instance_is_invalid_JSON_pretty_output  sb     /
 N & 	
 	 H	
 	/r    c           
     x    R pV P                  \        RR7      \        V4      R.^R\        V4       R2R7       R# )r   r   r   rh   z)                Failed to parse <stdin>: r   )rY   rM   rX   rZ   rO   N)ra   rp   r   rI   r   s   & r   &test_instance_is_invalid_JSON_on_stdin.TestCLI.test_instance_is_invalid_JSON_on_stdin  sM    $4(8$**6x*@)A B 	 
	
r    c                    V P                  \        R R7      \        R4      . RO^R7      w  rV P                  V4       V P	                  RV4       V P                  RV4       R# )r   r   r   rh   )rY   rM   rX   rZ   z1(<stdin>)===

Traceback (most recent call last):
Nr   )r^   rp   r   rS   r   r   r   s   &  r   4test_instance_is_invalid_JSON_on_stdin_pretty_output<TestCLI.test_instance_is_invalid_JSON_on_stdin_pretty_output  sb    4(,-6 & 
 	 B	
 	/r    c           	     d    R pV P                  \        VR7      R.^R\        V4       R2R7       R# )r   r   rh   /                Failed to parse 'some_schema': r   r   Nr   r(   s   & r   test_schema_is_invalid_JSON#TestCLI.test_schema_is_invalid_JSON  sE    "6*00<V0D/E F 	 		
r    c                    V P                  \        R R7      . RO^R7      w  rV P                  V4       V P                  RV4       R# )r   r   r   5(some_schema)===

Traceback (most recent call last):
Nr   )r^   rp   rS   r   r   s   &  r   )test_schema_is_invalid_JSON_pretty_output1TestCLI.test_schema_is_invalid_JSON_pretty_output  sH    #456 & 
 	 F	
r    c           	     f    RRr!V P                  \        WR7      R.^R\        V4       R2R7       R# )	=
Only the schema error is reported, as we abort immediately.
r   also not valid JSON!rg   rh   r   r   r   Nr   r   r)   r#   s   &  r   .test_schema_and_instance_are_both_invalid_JSON6TestCLI.test_schema_and_instance_are_both_invalid_JSON  sJ     -.D6B00<V0D/E F 	 		
r    c                    V P                  \        RRR7      . RO^R7      w  rV P                  V4       V P                  RV4       V P	                  RV4       R# )	r   r   r   rg   ri   r   r   Nr   r   r   s   &  r   <test_schema_and_instance_are_both_invalid_JSON_pretty_outputDTestCLI.test_schema_and_instance_are_both_invalid_JSON_pretty_output"  sd     -4
 N & 	
 	 F	
 	&1r    c                H    V P                  \        R R7      . RO^RR7       R# )r   r   zC                'nonexisting_instance' does not exist.
            r   N)rn   nonexisting_instancerh   r   r   s   &r   test_instance_does_not_exist$TestCLI.test_instance_does_not_exist7  s(    4(> 	 	
r    c                H    V P                  \        R R7      . RO^RR7       R# )r   r   z                ===[FileNotFoundError]===(nonexisting_instance)===

                'nonexisting_instance' does not exist.
                -----------------------------
            r   N)rw   rx   rn   r   rh   r   r   s   &r   *test_instance_does_not_exist_pretty_output2TestCLI.test_instance_does_not_exist_pretty_outputB  s,    4(  	 	
r    c                0    V P                  R .^RR7       R# )nonexisting_schema%'nonexisting_schema' does not exist.
rX   rZ   rO   Nra   r   s   &r   test_schema_does_not_exist"TestCLI.test_schema_does_not_existT  s!    &';	 	 	
r    c                2    V P                  . RO^RR7       R# )rw                   ===[FileNotFoundError]===(nonexisting_schema)===

                'nonexisting_schema' does not exist.
                -----------------------------
            r  N)rw   rx   r  r  r   s   &r   (test_schema_does_not_exist_pretty_output0TestCLI.test_schema_does_not_exist_pretty_output\  s     =	 	 
	
r    c                2    V P                  . RO^RR7       R# )rn   r  r  N)rn   r   r  r  r   s   &r   &test_neither_instance_nor_schema_exist.TestCLI.test_neither_instance_nor_schema_existi  s    E;	 	 	
r    c                2    V P                  . RO^RR7       R# )rw   r  r  N)rw   rx   rn   r   r  r  r   s   &r   4test_neither_instance_nor_schema_exist_pretty_output<TestCLI.test_neither_instance_nor_schema_exist_pretty_outputq  s$      	 	
r    c                J    V P                  \        R R R7      . RORRR7       R# r   rg   r   rY   rX   rN   rO   Nrm   r   r   s   &r   test_successful_validation"TestCLI.test_successful_validation  (    4t<7	 	 	
r    c                J    V P                  \        R R R7      . RORRR7       R# r   rg   z"===[SUCCESS]===(some_instance)===
r   r  Nr   r   r   s   &r   (test_successful_validation_pretty_output0TestCLI.test_successful_validation_pretty_output  (    4t<M8	 	 	
r    c                Z    V P                  \        R R7      \        R 4      R.RRR7       R# )r   r   rh   r   rY   rM   rX   rN   rO   Nra   rp   r   r   s   &r   #test_successful_validation_of_stdin+TestCLI.test_successful_validation_of_stdin  s/    4(4. 	 	
r    c                \    V P                  \        R R7      \        R 4      . RORRR7       R# )r   r   z===[SUCCESS]===(<stdin>)===
r   r  Nr   r  r   s   &r   1test_successful_validation_of_stdin_pretty_output9TestCLI.test_successful_validation_of_stdin_pretty_output  s-    4(4.62 	 	
r    c                J    V P                  \        R R R7      . RORRR7       R# r  r   r   s   &r   -test_successful_validation_of_just_the_schema5TestCLI.test_successful_validation_of_just_the_schema  r  r    c                J    V P                  \        R R R7      . RORRR7       R# r  r   r   s   &r   ;test_successful_validation_of_just_the_schema_pretty_outputCTestCLI.test_successful_validation_of_just_the_schema_pretty_output  r  r    c                   \         P                  ! R R7      pVP                  4        V P                  \        P
                  VP                  4       \        VP                  4      pVP                  R4       RVP                   R2pV P                  \        VRR7      RRR	VP                  P                  4       R
,           R.RRR7       R# )Fdelete-{"definitions": {"num": {"type": "integer"}}}
{"$ref": "#/definitions/num"}1rg   rn   ri   
--base-uri/rh   r   r  NtempfileNamedTemporaryFileclose
addCleanuposremovenamer   
write_textra   rp   parentas_urir   ref_schema_fileref_pathr)   s   &   r   0test_successful_validation_via_explicit_base_uri8TestCLI.test_successful_validation_via_explicit_base_uri  s    "55UC		?#7#78,,-KLx}}o-AB6=ohoo446<
  	 		
r    c                   \         P                  ! R R7      pVP                  4        V P                  \        P
                  VP                  4       \        VP                  4      pVP                  R4       RVP                   R2pV P                  \        VRR7      RRR	VP                  P                  4       R
,           R.^RRR7       R# )Fr+  r-  r.  r/  z"1"rg   rn   ri   r1  r2  rh   r   z 1: '1' is not of type 'integer'
rY   rX   rZ   rN   rO   Nr3  r>  s   &   r   2test_unsuccessful_validation_via_explicit_base_uri:TestCLI.test_unsuccessful_validation_via_explicit_base_uri  s    "55UC		?#7#78,,-KLx}}o-AB6?ohoo446<
 6 	 
	
r    c           
     x   R pRpV P                  \        4      ;_uu_ 4       pV P                  \        VVR7      RRR\        P
                  ! 4       P                  4       R.R7       RRR4       \        XP                  4      pV P                  \        P                   R	2V4       R#   + '       g   i     LJ; i)
z4{"$ref": "someNonexistentFile.json#definitions/num"}r0  rg   rn   ri   r1  rh   rY   rX   NzsomeNonexistentFile.json')r   r   ra   rp   r   cwdr=  rF   r   r   r8  sepr   r)   r#   r   rH   s   &    r   ,test_nonexistent_file_with_explicit_base_uri4TestCLI.test_nonexistent_file_with_explicit_base_uri  s    G233q &"*
 / $((*"3"3"5!  
 4 AKK  9:EB 43s   AB))B9	c           	        R pRpV P                  \        4      ;_uu_ 4       pV P                  \        VVR7      . ROR7       RRR4       \	        XP
                  4      pV P                  VR4       R#   + '       g   i     L9; i)z${"$ref": "foo.json#definitions/num"}r0  rg   rH  Nzunknown url type: 'foo.json')rn   ri   r1  znot@UR1rh   )r   r   ra   rp   rF   r   rV   rK  s   &    r   test_invalid_explicit_base_uri&TestCLI.test_invalid_explicit_base_uri  sx    7233q &"*  
 4 AKK 1	
 43s   !A44B	c                    V P                  \        \        4       V P                  \	        R RR7      . RO^RRR7       R# )z{"const": "check"}z"a"rg   r   za: 'check' was expected
rD  Nrm   )assertIsr   r   ra   rp   r   s   &r   =test_it_validates_using_the_latest_validator_when_unspecifiedETestCLI.test_it_validates_using_the_latest_validator_when_unspecified  s=     	*O<#7uM7. 	 	
r    c                R    RpRpV P                  \        WR7      . RO^RRR7       R# )	z7
Specifically, `const` validation applies for Draft 7.
z
            {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "const": "check"
            }
        "foo"rg   r   zfoo: 'check' was expected
rD  Nrm   r   r   s   &  r   -test_it_validates_using_draft7_when_specified5TestCLI.test_it_validates_using_draft7_when_specified  s7     6B70 	 	
r    c                P    RpRpV P                  \        WR7      . RORRR7       R# )z@
Specifically, `const` validation *does not* apply for Draft 4.
z
            {
                "$schema": "http://json-schema.org/draft-04/schema#",
                "const": "check"
            }
            rV  rg   r   r  Nrm   r   r   s   &  r   -test_it_validates_using_draft4_when_specified5TestCLI.test_it_validates_using_draft4_when_specified*  s4     6B7	 	 	
r    r   )r   r   )4r,   r-   r.   r/   r   r^   ra   rs   ry   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  r"  r%  r(  rA  rE  rL  rO  rS  rW  rZ  r1   r2   r3   s   @r   rK   rK   A   s     hjA4@


(

*
6
>'
R
8	

&	

&
$
,
(
$
0$
0 


 2*	

$



"






*
,C&
*
 
&
 
r    rK   c                   L   a  ] tR tRt o ]! 4       tR tR tR tR t	R t
RtV tR# )	
TestParseri=  c                |    \         P                  ! . RO4      pV P                  VR,          V P                  4       R# )--validatorrl   N)r`  z2jsonschema.tests.test_cli.TestParser.FakeValidator
--instancemem://some/instancemem://some/schema)r   rQ   rR  r4   r   r\   s   & r   2test_find_validator_by_fully_qualified_object_name=TestParser.test_find_validator_by_fully_qualified_object_nameA  s0    NN
	 	i,d.@.@Ar    c                p    \         P                  ! . RO4      pV P                  VR,          \        4       R# )r`  rl   N)r`  r   ra  rb  rc  )r   rQ   rR  r   rd  s   & r   !test_find_validator_in_jsonschema,TestParser.test_find_validator_in_jsonschemaL  s*    NN
	 	i,o>r    c                   \        4       \        4       r2\        V4      ;_uu_ 4        \        V4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        \
        P                  ! V4       R R R 4       R R R 4       R R R 4       VP                  4       VP                  4       3#   + '       g   i     L@; i  + '       g   i     LK; i  + '       g   i     LV; ir   )r   r   r   r   
SystemExitr   rQ   rW   )r   rX   rN   rO   s   &*  r   cli_output_forTestParser.cli_output_forV  s    !XZV$$of&=&="":..t$ / '>$  &//"333 /. '>&=$$s:   CB;	B(0B;	8C(B83B;	;CCC	c                v    V P                  R RR4      w  rV P                  RV4       V P                  V4       R# )rw   r   rc  zinvalid choice: 'foo'Nrl  r   rS   r   s   &  r   test_unknown_outputTestParser.test_unknown_output]  s;    ,,
 	-v6 r    c                z    V P                  R RRRR4      w  rV P                  RV4       V P                  V4       R# )rw   rx   r   r   rc  z3--error-format can only be used with --output plainNro  r   s   &  r   test_useless_error_format$TestParser.test_useless_error_formate  sE    ,,e

 	A	
 	 r    r   N)r,   r-   r.   r/   r7   r4   re  rh  rl  rp  rs  r1   r2   r\  s   @r   r^  r^  =  s,     "$M	B?4!
! 
!r    r^  c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestCLIIntegrationir  c                t    \         P                   ! R 4      pV P                  VP                  R4      R4       R# )
jsonschemazLicense-ExpressionMITN)r   rV   r:   )r   our_metadatas   & r   test_licenseTestCLIIntegration.test_licenses  s.    ((6))*>?Gr    c                   \         P                  ! \        P                  R RRRR.\         P                  R7      pVP                  R4      P                  4       pV P                  V\        P                  ! R4      4       R# )z-Wr   -mrx  z	--versionrO   zutf-8N)

subprocesscheck_outputsys
executableSTDOUTdecodestriprV   r   version)r   r  s   & r   test_versionTestCLIIntegration.test_versionw  sc    ))^^T8T<M$$
 ..)//1("2"2<"@Ar    c                   \         P                  ! \        P                  R R.\         P                  R7      p\         P                  ! \        P                  R RR.\         P                  R7      pV P                  W4       R# )r~  rx  r  z--helpN)r  r  r  r  r  rV   )r   outputoutput_for_helps   &  r   #test_no_arguments_shows_usage_notes6TestCLIIntegration.test_no_arguments_shows_usage_notes  sd    ((^^T<0$$
 %11^^T<:$$
 	1r    r   N)	r,   r-   r.   r/   r{  r  r  r1   r2   r\  s   @r   rv  rv  r  s     HB	2 	2r    rv  )'
contextlibr   r   	importlibr   ior   rC   r   pathlibr   textwrapr	   unittestr
   r8  r  r  r4  warningsrx  r   r   jsonschema.exceptionsr   r   r   jsonschema.validatorsr   r   catch_warningssimplefilterr   r7   rA   rI   rK   r^  rv  r   r    r   <module>r     s    7         	  
   < 
 <(# 
&My
h y
x2! 2!j2 2w s   8CC	