
    ^h                      x   S r SSKrSSKrSSKrSSKJr  SSKJrJ	r	J
r
  SSKJr  SSKJrJr  SSKJrJr  SSKJrJr   " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rS rS r S r!S r"S r#S  r$S! r%S" r&S# r'g)$z(Test trait types of the widget packages.    N)TestCase)	HasTraitsInt
TraitError)TraitTestBase)ColorNumberFormat)_remove_buffers_put_buffers)date_serialization
TypedTuplec                   $    \ rS rSr\" S5      rSrg)NumberFormatTrait   z.3f N)__name__
__module____qualname____firstlineno__r	   value__static_attributes__r       ^/home/james-whalen/.local/lib/python3.13/site-packages/ipywidgets/widgets/tests/test_traits.pyr   r      s    Er   r   c                   2    \ rS rSr\" 5       r/ SQr/ SQrSrg)TestNumberFormat   )z.2fz.0%z($.2fz+20z.^20z.2sz#xz,.2rz .2fz.2 )4   Fbrokenz..2fz.2ar   N)	r   r   r   r   r   obj_good_values_bad_valuesr   r   r   r   r   r      s    

CL 7Kr   r   c                   $    \ rS rSr\" S5      rSrg)
ColorTrait!   blackr   Nr   r   r   r   r   r   r   r   r   r   r$   r$   !   s    'NEr   r$   c                   2    \ rS rSr\" 5       r/ SQr/ SQrSrg)	TestColor%   )bluez#AA0z#FFFFFFtransparentz#aaaaz	#ffffffffzrgb(0, 0, 0)zrgb( 20,70,50 )zrgba(10,10,10, 0.5)zrgba(255, 255, 255, 255)zhsl(0.0, .0, 0)zhsl( 0.5,0.3,0 )zhsla(10,10,10, 0.5)zvar(--my-color)zvar(--my-color-with_separators)zvar(--my-color,)u   var(--my-color-æ)u   var(--my-color-ሴ)zvar(--my-color-\\1234)zvar(--my-color-\.)zvar(--my-color,black)zvar(--my-color, black)z var(--my-color, rgb(20, 70, 50))zvar(--my-color, #fff))vanillabluesg333333?g        r         zrgb(0.4, 512, -40)zhsl(0.4, 512, -40)zrgba(0, 0, 0)zhsla(0, 0, 0)zvar(-my-color)u   var(--my-color-⁁)zvar(my-color, black)zvar(my-color-., black)zvar(--my-color, vanilla)zvar(--my-color, rgba(0,0,0))Nr   N)	r   r   r   r   r$   r    r!   r"   r   r   r   r   r)   r)   %   s    
,CL4Kr   r)   c                   "    \ rS rSr\" SSS9rSrg)ColorTraitWithNoneU   r&   T)
allow_noner   Nr'   r   r   r   r2   r2   U   s    'd+Er   r2   c                   v    \ rS rSr\" 5       r\R                  S/-   r\" \	" S \R                  5      5      r
Srg)TestColorWithNoneY   Nc                 
    U S L$ Nr   )vs    r   <lambda>TestColorWithNone.<lambda>]   s    r   r   )r   r   r   r   r2   r    r)   r!   listfilterr"   r   r   r   r   r6   r6   Y   s4    

C))TF2Lv5y7L7LMNKr   r6   c                   &    \ rS rSrS rS rS rSrg)TestDateSerialization`   c                 .    [         S   U l        S U l        g )Nto_json)r   rC   dummy_managerselfs    r   setUpTestDateSerialization.setUpb   s    ))4!r   c                 \    U R                  U R                  S U R                  5      S 5        g r9   )assertIsrC   rD   rE   s    r   test_serialize_none)TestDateSerialization.test_serialize_nonef   s!    dll4););<dCr   c                     [         R                  " SSS5      nSSSS.nU R                  U R                  XR                  5      U5        g )Nl  r0      r/   yearmonthdate)dtrS   assertEqualrC   rD   )rF   rS   expecteds      r   test_serialize_date)TestDateSerialization.test_serialize_datei   sE    wwtQ#

 	d,>,>?Jr   )rD   rC   N)r   r   r   r   rG   rK   rW   r   r   r   r   r@   r@   `   s    "DKr   r@   c                   &    \ rS rSrS rS rS rSrg)TestDateDeserializations   c                 .    [         S   U l        S U l        g )N	from_json)r   r]   rD   rE   s    r   rG   TestDateDeserialization.setUpu   s    +K8!r   c                 \    U R                  U R                  S U R                  5      S 5        g r9   )rJ   r]   rD   rE   s    r   test_deserialize_none-TestDateDeserialization.test_deserialize_noney   s!    dnnT4+=+=>Er   c                     SSSS.n[         R                  " SSS5      nU R                  U R                  XR                  5      U5        g )NrN   r/   rO   rP   r0   )rT   rS   rU   r]   rD   )rF   serialized_daterV   s      r   test_deserialize_date-TestDateDeserialization.test_deserialize_date|   sI    

 774B'NN?,>,>?	
r   )rD   r]   N)r   r   r   r   rG   r`   rd   r   r   r   r   rZ   rZ   s   s    "F

r   rZ   c                       \ rS rSrS rSrg)TestBuffers   c           	      \   [        S5      n[        S5      nSS/SU0SUS.X4USSS	U0/S
.S.nUS   nUS   nUS   nUS   nUn[        U5      u  p9n
U R                  SU5        U R                  SUS   5        U R                  SUS   5        U R	                  US   0 5        U R                  SUS   5        U R                  XS   5        U R                  XS   5        U R                  SU5        U R                  SU5        U R                  SUS   5        U R                  S	US   S   S   5        U R                  X85        U R                  US   U5        U R                  US   U5        U R                  US   U5        U R                  US   S   U5        SS/U4SS/U4SS/U4SS/U4S/U4/ SQU44 H?  u  pU R                  XSU-  5        U	R                  U5      nU R	                  XU   5        MA     [        X9U
5        [        US   5      US'   U R	                  X5        g )Ns   test1s   test2r   textar)
   rl   )shapedatar/   deeper)ab)plainxyztopdeeprr   rs   rt   rm   rn   ru   rv   rw   rq   )rw   rq   r/   ro   z%r not in path)

memoryviewr
   assertInassertNotInrU   assertIsNotrJ   indexr   r=   )rF   mv1mv2staterr   rs   rt   y_shapestate_beforebuffer_pathsbufferspathbufferr|   s                 r   test_remove_and_put_buffers'TestBuffers.test_remove_and_put_buffers   so   (#(#f+Sk (#6j q(3&89; g#J#JG*'6u'=$W 	gu%guSz*uSz*sR(s,Cj)Cj)&fe$c5=)5=#5a#89 	-eGne,sQ'sQ'eCj)73  #Dk3/3-1EaRUZ]_`YacfXg$gs^.H#-NPLDMM$.>.EF &&t,EVU^4	P 	U'2 c!23S-r   r   N)r   r   r   r   r   r   r   r   r   rg   rg      s    /.r   rg   c                  T     " S S[         5      n U " 5       nUR                  S:X  d   eg )Nc                   *    \ rS rSr\" \" 5       S9rSrg)5test_typed_tuple_uninitialized_ints.<locals>.TestCase   traitr   Nr   r   r   r   r   r   r   r   r   r   r   r   r          'r   r   r   r   r   r   r    s     r   #test_typed_tuple_uninitialized_intsr      s'    (9 ( *C99??r   c                  R     " S S[         5      n U " SS9nUR                  S:X  d   eg )Nc                   *    \ rS rSr\" \" 5       S9rSrg),test_typed_tuple_init_ints.<locals>.TestCase   r   r   Nr   r   r   r   r   r      r   r   r   r/   r0      r   r   r   s     r   test_typed_tuple_init_intsr      s,    (9 ( 
#C99	!!!r   c                  b     " S S[         5      n U " 5       nSUl        UR                  S:X  d   eg )Nc                   *    \ rS rSr\" \" 5       S9rSrg)+test_typed_tuple_set_ints.<locals>.TestCase   r   r   Nr   r   r   r   r   r      r   r   r   r   r   r   s     r   test_typed_tuple_set_intsr      s0    (9 ( *CCI99	!!!r   c                  T     " S S[         5      n U " 5       nUR                  S:X  d   eg )Nc                        \ rS rSr\" SS9rSrg)*test_typed_tuple_default.<locals>.TestCase   r   default_valuer   Nr   r   r   r   r   r   r   r   r   r   r   r      s    3r   r   r   r   r   s     r   test_typed_tuple_defaultr      s)    49 4 *C99	!!!r   c                  T     " S S[         5      n U " 5       nUR                  S:X  d   eg )Nc                        \ rS rSr\" SS9rSrg)0test_typed_tuple_mixed_default.<locals>.TestCase   r/   r0   foobarr   r   Nr   r   r   r   r   r      s    )9:r   r   r   r   r   s     r   test_typed_tuple_mixed_defaultr      s*    ;9 ; *C99((((r   c                       " S S[         5      n [        R                  " [        5         U " 5       nUR                  nS S S 5        g ! , (       d  f       g = f)Nc                   ,    \ rS rSr\" \" 5       SS9rSrg).test_typed_tuple_bad_default.<locals>.TestCase   r   )r   r   r   Nr   r   r   r   r   r      s    6FGr   r   r   pytestraisesr   r   )r   r    rp   s      r   test_typed_tuple_bad_defaultr      s:    H9 H 
z	"jII 
#	"	"s   A
Ac                       " S S[         5      n U " 5       n[        R                  " [        5         SUl        S S S 5        g ! , (       d  f       g = f)Nc                   *    \ rS rSr\" \" 5       S9rSrg)*test_typed_tuple_bad_set.<locals>.TestCase   r   r   Nr   r   r   r   r   r      r   r   r   r   r   r   s     r   test_typed_tuple_bad_setr      s6    (9 ( *C	z	"$	 
#	"	"s   A
Ac                  R     " S S[         5      n U " SS9nUR                  S:X  d   eg )Nc                   .    \ rS rSr\" \" 5       5      rSrg)3test_typed_tuple_positional_trait.<locals>.TestCase   r   Nr   r   r   r   r   r      s    35!r   r   r   r   r   r   s     r   !test_typed_tuple_positional_traitr      s,    "9 " 
#C99	!!!r   c                  T     " S S[         5      n U " 5       nUR                  S:X  d   eg )Nc                   $    \ rS rSr\" S5      rSrg)5test_typed_tuple_positional_default.<locals>.TestCasei  r   r   Nr   r   r   r   r   r     s    9%r   r   r   r   r   s     r   #test_typed_tuple_positional_defaultr     s)    &9 & *C99	!!!r   )(__doc__arraydatetimerT   r   unittestr   	traitletsr   r   r   traitlets.tests.test_traitletsr   
ipywidgetsr   r	   ipywidgets.widgets.widgetr
   r   ipywidgets.widgets.trait_typesr   r   r   r   r$   r)   r2   r6   r@   rZ   rg   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s    /     0 0 8 * C I 	  7} 7 - -`, ,O OKH K&
h 
,0.( 0.h""")%""r   