U
    k&p[
                     @   s@   d dl Z d dlmZmZ G dd de jZG dd de jZdS )    N)Hook
FilterHookc                   @   sD   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S )	HookTestsc                 C   s   t  | _d | _d | _d S N)r   hookargskwargsself r   3/usr/lib/python3/dist-packages/cliapp/hook_tests.pysetUp   s    zHookTests.setUpc                 O   s   || _ || _d S r   r   r   )r
   r   r   r   r   r   callback   s    zHookTests.callbackc                 C   s   |  | jjg  d S r   )assertEqualr   	callbacksr	   r   r   r    test_has_no_callbacks_by_default"   s    z*HookTests.test_has_no_callbacks_by_defaultc                 C   s&   | j | j | | j j| jg d S r   r   add_callbackr   r   r   r	   r   r   r   test_adds_callback%   s    zHookTests.test_adds_callbackc                 C   s4   | j | j | j | j | | j j| jg d S r   r   r	   r   r   r   test_adds_callback_only_once)   s    z&HookTests.test_adds_callback_only_oncec                 C   sB   | j | j | j jddd | | jd | | jddi d S )NbarZfoobar)kwarg)r   r   r   r   r   call_callbacksr   r   r   r	   r   r   r   test_calls_callback.   s    zHookTests.test_calls_callbackc                 C   s.   | j | j}| j | | | j jg  d S r   )r   r   r   Zremove_callbackr   r   )r
   Zcb_idr   r   r   test_removes_callback4   s    zHookTests.test_removes_callbackN)
__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r   r   r      s   r   c                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )FilterHookTestsc                 C   s   t  | _d | _d | _d S r   )r   r   r   r   r	   r   r   r   r   <   s    zFilterHookTests.setUpc                 O   s   || _ || _|dg S Nr   r   )r
   datar   r   r   r   r   r   A   s    zFilterHookTests.callbackc                 C   s   |  | jdgdg d S )NZfoo)r   r   r   r	   r   r   r   %test_returns_argument_if_no_callbacksF   s    z5FilterHookTests.test_returns_argument_if_no_callbacksc                 C   s,   | j | j | j g }| |dg d S r!   )r   r   r   r   r   )r
   r"   r   r   r   -test_calls_callback_and_returns_modified_dataI   s    z=FilterHookTests.test_calls_callback_and_returns_modified_datac                 C   sF   | j | j | j jdgddd | | jd | | jddi d S )Nr"   extrakwextra)r&   )r%   r   r	   r   r   r   #test_calls_callback_with_extra_argsN   s    z3FilterHookTests.test_calls_callback_with_extra_argsN)r   r   r   r   r   r#   r$   r'   r   r   r   r   r    :   s
   r    )ZunittestZcliappr   r   ZTestCaser   r    r   r   r   r   <module>   s   #