
    Nwg                     v    d dl mZ d dlmZ d dlmZ d dlmZ  G d de      Z	 G d de      Z
 G d	 d
e      Zy)    )TestCase)ValidationError)JSONFormField)JSONTestFormc                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
JSONFormFieldTestc                 ^    t        d      }| j                  i |j                  d             y )NFrequired{}r   assertEqualcleanselffields     Q/var/www/horilla/myenv/lib/python3.12/site-packages/jsonfield/tests/test_forms.py"test_form_field_clean_empty_objectz4JSONFormFieldTest.test_form_field_clean_empty_object	   %    u-U[[./    c                 d    t        d      }| j                  ddd|j                  d             y )NFr
   bar   )foobazz{"foo":"bar","baz":2}r   r   s     r   test_form_field_clean_objectz.JSONFormFieldTest.test_form_field_clean_object   s/    u-!$KK/0	
r   c                 x    t        d      }| j                  d|j                  j                  dddi             y )NFr
   z{
  &quot;a&quot;: true
}jsonaT)r   assertInwidgetrenderr   s     r   test_form_field_widgetz(JSONFormFieldTest.test_form_field_widget   s3    u-)LLd4	
r   c                 ^    t        d      }| j                  g |j                  d             y )NFr
   []r   r   s     r   !test_form_field_clean_empty_arrayz3JSONFormFieldTest.test_form_field_clean_empty_array   r   r   c                 ^    t        d      }| j                  g |j                  d             y )NTr
   r%   r   r   s     r   test_required_form_field_arrayz0JSONFormFieldTest.test_required_form_field_array   %    t,U[[./r   c                 ^    t        d      }| j                  i |j                  d             y )NTr
   r   r   r   s     r   test_required_form_field_objectz1JSONFormFieldTest.test_required_form_field_object#   r)   r   c                     t        d      }| j                  t              5  |j                  d       d d d        y # 1 sw Y   y xY w)NTr
    r   assertRaisesr   r   r   s     r   test_required_form_field_emptyz0JSONFormFieldTest.test_required_form_field_empty'   s:    t,/ 	KKO	 	 		   =Ac                     t        d      }| j                  t              5  |j                  d       d d d        y # 1 sw Y   y xY w)NTr
   z{"foo"}r.   r   s     r   test_invalid_jsonz#JSONFormFieldTest.test_invalid_json,   s;    t,/ 	#KK	"	# 	# 	#r1   N)__name__
__module____qualname__r   r   r#   r&   r(   r+   r0   r3    r   r   r   r      s*    0

000
#r   r   c                       e Zd Zd Zy)JSONFormTestc                 X    t        i       }| j                  |j                                y )N)r   assertFalseis_validr   forms     r   test_form_cleanzJSONFormTest.test_form_clean4   s     B)r   N)r4   r5   r6   r?   r7   r   r   r9   r9   3   s    *r   r9   c                       e Zd Zd Zy)JSONFormMultipleSelectFieldTestc                     t        dddgi      }|j                         sJ | j                  ddg|j                  d          y )N	json_dataSAWA)r   r<   r   cleaned_datar=   s     r   test_multiple_select_dataz9JSONFormMultipleSelectFieldTest.test_multiple_select_data:   sB    [4,78}}$t'8'8'EFr   N)r4   r5   r6   rG   r7   r   r   rA   rA   9   s    Gr   rA   N)django.testr   DjangoTestCasedjango.formsr   jsonfield.formsr   (jsonfield.tests.jsonfield_test_app.formsr   r   r9   rA   r7   r   r   <module>rM      s8    2 ( ) A(# (#V*> *Gn Gr   