a
    YÒOc/
  ã                   @   sŽ   d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZmZ d dlmZ d dlmZ d	ejifd
d„ZG dd„ deƒZdS )é    )Úparse)Úmodelform_factory)ÚTestCase)Ú
safestring)Úescape)Ú	countriesÚfieldsÚwidgets)Úsettings)ÚPersonÚcountryc                 K   s   t tfdg| dœ|¤ŽS )Nr   )r   r	   )r   r   )r	   Úkwargs© r   úZ/var/www/html/gsl.tools/lib/python3.9/site-packages/django_countries/tests/test_widgets.pyÚperson_form   s    r   c                   @   sT   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ ZdS )ÚTestCountrySelectWidgetc                 C   s   t ` d S ©N©r   ©Úselfr   r   r   ÚsetUp   s    zTestCountrySelectWidget.setUpc                 C   s   t ` d S r   r   r   r   r   r   ÚtearDown   s    z TestCountrySelectWidget.tearDownc                 C   s.   t i d�}|ƒ jd j}|  t|tjƒ¡ d S )N)r	   r   )r   r   ÚwidgetZassertFalseÚ
isinstancer	   ÚCountrySelectWidget)r   Ú
PersonFormr   r   r   r   Útest_not_default_widget   s    
z/TestCountrySelectWidget.test_not_default_widgetc                 C   s`   | j ddid��< tƒ }|ƒ  ¡ }|  tt t jt j¡ƒ|¡ W d   ƒ n1 sR0    Y  d S )NÚAUÚDesert©ZCOUNTRIES_ONLY)	r
   r   Úas_pÚassertInr   ÚurlparseÚurljoinZ
STATIC_URLZCOUNTRIES_FLAG_URL©r   r   Úhtmlr   r   r   Útest_render_contains_flag_url   s    
ÿüz5TestCountrySelectWidget.test_render_contains_flag_urlc                 C   s|   | j ddid��X tƒ }|ƒ  ¡ }| jd|dd� |  t d¡j|¡ |  t d¡j|¡ W d   ƒ n1 sn0    Y  d S )Nr   r   r   z"<option value="AU">Desert</option>é   )ÚcountÚ__)	r
   r   r    ZassertInHTMLr!   r   ÚCountryÚflagÚassertNotInr$   r   r   r   Útest_render(   s    
z#TestCountrySelectWidget.test_renderc                 C   st   | j ddid��P tƒ }|ddid� ¡ }|  t d¡j|¡ |  t d¡j|¡ W d   ƒ n1 sf0    Y  d S )Nr   r   r   r   )Úinitialr)   )r
   r   r    r!   r   r*   r+   r,   r$   r   r   r   Útest_render_initial0   s
    z+TestCountrySelectWidget.test_render_initialc                 C   s>   t  ¡  dd¡}|  d|¡ |  d|¡ |  t|tjƒ¡ d S )NÚtestz<script>z&lt;script&gt;)	r	   r   Úrenderr!   r,   Ú
assertTruer   r   ZSafeData)r   Úoutputr   r   r   Útest_render_escaping7   s    z,TestCountrySelectWidget.test_render_escapingc                 C   s"   t dd�}tƒ }||d� ¡  d S )NZNZ)r   )Úinstance)r   r   r    )r   Zpersonr   r   r   r   Útest_render_modelform_instance=   s    
z6TestCountrySelectWidget.test_render_modelform_instancec                 C   s:   t ƒ }|ƒ d  ¡ }|d | d¡d … }|  d|¡ d S )Nr   ú>r'   Úrequired)r   Z	as_widgetÚfindr!   )r   r   Úrenderedr   r   r   Útest_required_attributeB   s    z/TestCountrySelectWidget.test_required_attributeN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r&   r-   r/   r4   r6   r;   r   r   r   r   r      s   r   N)Úurllibr   r"   Zdjango.forms.modelsr   Zdjango.testr   Zdjango.utilsr   Zdjango.utils.htmlr   Zdjango_countriesr   r   r	   Zdjango_countries.confr
   Zdjango_countries.tests.modelsr   r   r   r   r   r   r   r   Ú<module>   s   