B
    5Ù&eØ  ã               @   s0   d dl T d dlmZ d dlZG dd„ deƒZdS )é    )Ú*Nc               @   sX   e Zd 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 )ÚLaterTestCase)ÚLaterc             C   s   |   d¡ |   d¡ d S )Nzlater tell foo barzlater tell foo baz)ÚassertNotError)Úself© r   úI/home/dcms/DCMS/lib/python3.7/site-packages/supybot/plugins/Later/test.pyÚtestLaterWorksTwice%   s    
z!LaterTestCase.testLaterWorksTwicec             C   sF   |   d¡ |   d¡ |  dd¡ |   d¡ |  dd¡ |  dd¡ d S )Nzlater tell foo 1zlater tell bar 1zlater noteszbar.*foozlater remove barÚfoo)r   ÚassertRegexpÚassertNotRegexp)r   r   r   r   ÚtestLaterRemove)   s    


zLaterTestCase.testLaterRemovec             C   sF   |   d¡ |   d¡ |  dd¡ |   d¡ |  dd¡ |  dd¡ d S )Nzlater tell foo 1zlater tell bar 1zlater noteszbar.*foozlater undo fooÚbar)r   r   r   )r   r   r   r   ÚtestLaterUndo1   s    


zLaterTestCase.testLaterUndoc             C   sJ   t jjj ¡ }t jjjj d¡ |  d¡ |  d¡ t jjjj |¡ d S )NÚTruezlater tell 1foo barzlater tell foo$moo zoob)ÚconfÚsupybotÚ	protocolsÚircZ	strictRfcZsetValueZassertError)r   Zorigconfr   r   r   ÚtestNickValidation9   s
    

z LaterTestCase.testNickValidationc             C   s`   |   d¡ |   d¡ |  dd¡ d}| j tj| jd|d¡ |  d¡}|  t	|ƒ 
¡ d	¡ d S )
Nzlater tell foo* stuffzlater tell bar,baz more stuffzlater noteszbar.*foozfoo!bar@bazÚ	something)Úprefixú z/PRIVMSG #test :foo: Sent just now: <test> stuff)r   r   r   ÚfeedMsgÚircmsgsÚprivmsgÚchannelÚgetMsgÚassertEqualÚstrÚstrip)r   Ú
testPrefixÚmr   r   r   ÚtestWildcard@   s    



zLaterTestCase.testWildcardc             C   s”   |   d¡ |   d¡ |  dd¡ d}| j tj| jd|d¡ |  d¡}|  |d ¡ d	}| j tj| jd|d¡ |  d¡}|  t	|ƒ 
¡ d
¡ d S )Nzlater tell foo*!*@baz stuffzlater tell bar,baz more stuffzlater noteszbar.*foozfoo!bar@baz2r   )r   r   zfoo!bar@bazz/PRIVMSG #test :foo: Sent just now: <test> stuff)r   r   r   r   r   r   r   r   r   r   r    )r   r!   r"   r   r   r   ÚtestHostmaskK   s    





zLaterTestCase.testHostmaskc             C   sX   | j  d¡}|jdddt ¡ d d |  dd¡ |  d¡ |  dd¡ |  dd	¡ d S )
Nr   r
   Útestz
some stuffi ¼4 )Úatzlater noteszlater tell moo stuffÚmoo)r   ZgetCallbackZ_addNoteÚtimer   r   r   )r   Úcbr   r   r   ÚtestNoteExpiry]   s    
zLaterTestCase.testNoteExpiryc                s  |   d¡ |   d¡ |  dd¡ d}| j tj| jd|d¡ |  d¡}|  t	|ƒ 
¡ d	¡ |  dd
¡ |  dd¡ | j tj| jddd¡ |  d¡}|  t	|ƒ 
¡ d¡ tj‰ ‡ fdd„}|t_| j tj| jddd¡ |  d¡}|  t	|ƒ 
¡ d¡ ˆ t_d S )Nzlater tell foo stuffzlater tell bar,baz more stuffzlater noteszbar.*foozfoo!bar@bazr   )r   r   z/PRIVMSG #test :foo: Sent just now: <test> stuffr
   r   zbaz!baz@quxz4PRIVMSG #test :baz: Sent just now: <test> more stuffc                  s
   ˆ ƒ d S )Né>   r   r   )Ú	real_timer   r   Ú	fake_timez   s    z-LaterTestCase.testNoteSend.<locals>.fake_timezbar!baz@quxz8PRIVMSG #test :bar: Sent 1 minute ago: <test> more stuff)r   r   r   r   r   r   r   r   r   r   r    r   r(   )r   r!   r"   r-   r   )r,   r   ÚtestNoteSendf   s2    







zLaterTestCase.testNoteSendc          	   C   sp   |   d¡ d}tjjjjj d¡* | j 	t
j| jd|d¡ |  d¡}W d Q R X |  t|ƒ ¡ d| j ¡ d S )Nzlater tell foo stuffzfoo!bar@bazTr   )r   r   z-PRIVMSG #test :foo: Sent just now: <%s> stuff)r   r   r   Úpluginsr   ÚformatZsenderHostnameÚcontextr   r   r   r   r   r   r   r   r    r   )r   r!   r"   r   r   r   ÚtestSenderHostname„   s    

z LaterTestCase.testSenderHostnameN)Ú__name__Ú
__module__Ú__qualname__r/   r	   r   r   r   r#   r$   r*   r.   r2   r   r   r   r   r   #   s   	r   )Zsupybot.testZsupybot.confr   r(   ZChannelPluginTestCaser   r   r   r   r   Ú<module>   s   