U
    Pe	                     @   s6   d dl Z d dlmZ d dlmZ G dd de jZdS )    N)mkdtemp)rmtreec                   @   sf   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
eddd Zdd ZdS )WidgetTestCasec                 C   s   ddl m} || _| | _d S )Nr   Widget)kivy.uix.widgetr   clsroot)selfr    r   :/tmp/pip-unpacked-wheel-xzebddm3/kivy/tests/test_widget.pysetUp   s    zWidgetTestCase.setUpc                 C   sR   | j }| |jg  |  }|| | |j|g || | |jg  d S )N)r	   assertEqualchildrenr   
add_widgetremove_widget)r
   r	   c1r   r   r   test_add_remove_widget   s    

z%WidgetTestCase.test_add_remove_widgetc                 C   sX   ddl m} z2| jd  | j| | j| j |   W n |k
rR   Y nX d S )Nr   )WidgetException)r   r   r	   r   r   Zfail)r
   r   r   r   r   test_invalid_add_widget   s    z&WidgetTestCase.test_invalid_add_widgetc                 C   s   | j }| |jg  |  }|  }|  }|j|dd |j|dd |j|dd | |j|||g ||g | |j||g |g  | |j||g |  | |jg  d S )Nr   )index      )r	   r   r   r   r   clear_widgets)r
   r	   r   c2c3r   r   r   test_clear_widgets!   s    
z!WidgetTestCase.test_clear_widgetsc                 C   sR   | j }tdD ]}||   q| t|jd ||j | |jg  d S )N
   )r	   ranger   r   r   lenr   r   )r
   r	   _r   r   r   test_clear_widgets_children6   s    z*WidgetTestCase.test_clear_widgets_childrenc                 C   s   | j }d|_| |jd | |jddg d|_| |jd | |jddg d|_| |jddg | |jd | |jd d S )N2   r   <   )r   r   )r	   xr   posyr
   widr   r   r   test_position?   s    zWidgetTestCase.test_positionc                 C   s   | j }d|_| |jd | |jddg d|_| |jd | |jddg d|_| |jddg | |jd | |jd d S )Nr"   d   r#   )r*   r*   )r	   widthr   sizeheightr'   r   r   r   	test_sizeL   s    zWidgetTestCase.test_sizec                 C   s   | j }| |jddg | |jddg | |ddd | |ddd | |ddd | |ddd | |ddd | |ddd d S )	Nr   r*   FTr"      i  )r	   r   r%   r,   Zcollide_pointr'   r   r   r   test_collisionY   s    zWidgetTestCase.test_collisionz+Doesn't work with testsuite, but work alonec                 C   s   ddl m} ddlm} ddlm} |dddd}| j| t }|	||d	 |j	||d
dd |j	||ddd | 
|||d	jd | 
|||d
jd | 
|||djd t| | j| d S )Nr   )Image)Button)jointest)r0   r*   )NN)textr,   Z	size_hintza.pngzb.pngg      ?)Zscalezc.pngr   )r*   r"   )i  r0   )Zkivy.core.imager2   Zkivy.uix.buttonr3   os.pathr4   r	   r   r   Zexport_to_pngr   r,   r   r   )r
   Z	CoreImager3   r4   r(   tmpr   r   r   test_export_to_pnge   s    z!WidgetTestCase.test_export_to_pngc                 C   s4   ddl m} |d d}d|_d|_| |jd d S )Nr   r   )disabledFT)r   r   r:   r   )r
   r   wr   r   r   test_disabledz   s
    
zWidgetTestCase.test_disabledN)__name__
__module____qualname__r   r   r   r   r!   r)   r.   r1   unittestskipr9   r<   r   r   r   r   r      s   		
r   )r@   tempfiler   shutilr   ZTestCaser   r   r   r   r   <module>   s   