U
    P’“eÁ  ã                   @   st   d dl Z d dlZd dlZd dlZd dlZdZe  ¡ dd„ ƒZe  ¡ dd„ ƒZ	e  ¡ dd„ ƒZ
g Ze  ¡ d	d
„ ƒZdS )é    N)Ú
kivy_clockÚkivy_metricsÚkivy_exception_managerÚkivy_appc                  c   sp   ddl m}  ddlm} | dd}|ƒ |d< | ¡  ddlm} d|_z| ¡  |V  | 	¡  W 5 | ¡  X d S )Nr   ©ÚContext©Ú	ClockBaseF©ÚinitÚClock©r   )
Úkivy.contextr   Ú
kivy.clockr	   Úpushr   Ú_max_fpsÚpopZstart_clockZ
stop_clock)r   r	   Úcontextr   © r   ú7/tmp/pip-unpacked-wheel-xzebddm3/kivy/tests/fixtures.pyr   
   s    

r   c                  c   sl   ddl m}  ddlm}m} ddlm} | dd}|ƒ |d< | ¡  |ƒ  z
|V  W 5 | ¡  | 	¡  X d S )Nr   r   )ÚMetricsBaseÚMetrics)Údispatch_pixel_scaleFr
   r   )
r   r   Zkivy.metricsr   r   Zkivy._metricsr   r   r   Z_set_cached_scaling)r   r   r   r   r   r   r   r   r      s    


r   c                  c   sR   ddl m}  ddlm}m} | dd}|ƒ |d< | ¡  z
|V  W 5 | ¡  X d S )Nr   r   )ÚExceptionManagerBaseÚExceptionManagerFr
   r   )r   r   Ú	kivy.baser   r   r   r   )r   r   r   r   r   r   r   r   1   s    


r   c                 C  sö  t  ¡  tr2t ¡ \}}|ƒ d ks2tdt|ƒ ƒ‚ddlm} d|d< ddlm	} | 
ddd	¡ | 
dd
d¡ | d¡D ]}| d|d ¡ qxddlm} ddlm} ddlm}	 ddlm}
m} ddlm} ddlm}m} ddlm} ddlm} ddlm } | !dd¡}|dkr,t"j#ddd d}n(|dkrJt"j#ddd d}n
t" $d¡ |dd }|	|d!|d"< |
 %|¡|d#< | %|¡|d$< | &¡  | '¡  | (¡  d%|_)|j* +¡  | j,d ƒ }| -|¡ |dkrðdd l.}| /¡ }| 0| 1¡ ¡ n| 2|j1¡ dd&lm3} d|_4t5 6¡ }|j7sJ| 8d'¡I d H  t5 6¡ | d(krt9ƒ ‚q| :d)¡I d H  |V  |ƒ  t5 6¡ }|j;s¢| 8d'¡I d H  t5 6¡ | d(krnt9ƒ ‚qn|j<d d … D ]}| =|¡ q°| ¡  ~| >¡  t ?t@ A|¡| f¡ ~t  ¡  d S )*Nz,Memory leak: failed to release app for test r   )ÚenvironÚ1ZKIVY_USE_DEFAULTCONFIG)ÚConfigZgraphicsÚwidthZ320ÚheightZ240Úinput)ÚWindowr   r   )ÚFactoryBaseÚFactory)ÚApp)ÚBuilderBaseÚBuilder)ÚstopTouchApp)Úkivy_data_dir)ÚLoggerHistoryZKIVY_EVENTLOOPÚasyncioZpytest_asynciozAKIVY_EVENTLOOP == "asyncio" but "pytest_asyncio" is not installed)ÚreasonZtrioZpytest_trioz;KIVY_EVENTLOOP == "trio" but "pytest_trio" is not installedzNKIVY_EVENTLOOP must be set to either of "asyncio" or "trio" to run async testsFr
   )Ú	async_libr   r$   r'   Tr   gš™™™™™¹?é
   é   )BÚgcZcollectÚappsr   ÚAssertionErrorÚreprÚosr   Zkivy.configr   ÚsetÚitemsÚremove_optionZkivy.core.windowr"   r   r   r   r	   Zkivy.factoryr#   r$   Zkivy.appr%   Zkivy.lang.builderr&   r'   r   r(   Zkivyr)   Zkivy.loggerr*   ÚgetÚpytestZimportorskipÚskipZcreate_fromr   Zcreate_windowÚregisterZinitializedZcanvasÚclearÚparamZset_async_libr+   Zget_event_loopZcreate_taskZ	async_runZ
start_soonr   r   ÚtimeÚperf_counterZapp_has_startedZasync_sleepÚTimeoutErrorZwait_clock_framesZapp_has_stoppedÚchildrenZremove_widgetZclear_historyÚappendÚweakrefÚref)ÚrequestZnurseryZlast_appZlast_requestr   r   r6   r"   r   r	   r#   r$   r%   r&   r'   r(   r)   r*   Zkivy_eventloopr-   r   Zappr+   Zloopr   ÚtsÚchildr   r   r   r   E   sš    
ÿ
þ
þÿ





r   )r9   r0   rC   r>   Úos.pathr4   Ú__all__Zfixturer   r   r   r1   r   r   r   r   r   Ú<module>   s   


