3
,sYj                 @   sN   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 G dd dej
Zd	S )
z+
Test cases for L{twisted.logger._buffer}.
    )verifyObjectBrokenMethodImplementation)unittest   )ILogObserver)LimitedHistoryLogObserverc               @   s(   e Zd ZdZdd Zdd Zdd ZdS )	LimitedHistoryLogObserverTestsz1
    Tests for L{LimitedHistoryLogObserver}.
    c             C   sH   t d}ytt| W n, tk
rB } z| j| W Y dd}~X nX dS )zH
        L{LimitedHistoryLogObserver} provides L{ILogObserver}.
        r   N)r   r   r   r   Zfail)selfobservere r   A/usr/lib/python3/dist-packages/twisted/logger/test/test_buffer.pytest_interface   s
    z-LimitedHistoryLogObserverTests.test_interfacec             C   sX   d}dd t |d D }t|}x|D ]}|| q(W g }|j|j | j|| dS )zY
        L{LimitedHistoryLogObserver} saves history in the order it is received.
           c             S   s   g | ]}t |d qS ))n)dict).0r   r   r   r   
<listcomp>&   s    z=LimitedHistoryLogObserverTests.test_order.<locals>.<listcomp>r   N)ranger   replayToappendassertEqual)r	   sizeeventsr
   event	outEventsr   r   r   
test_order!   s    
z)LimitedHistoryLogObserverTests.test_orderc             C   sb   d}dd t |d D }t|}x|D ]}|| q(W g }|j|j | j|| d | dS )z
        When more events than a L{LimitedHistoryLogObserver}'s maximum size are
        buffered, older events will be dropped.
        r   c             S   s   g | ]}t |d qS ))r   )r   )r   r   r   r   r   r   7   s    z=LimitedHistoryLogObserverTests.test_limit.<locals>.<listcomp>r   N)r   r   r   r   r   )r	   r   r   r
   r   r   r   r   r   
test_limit1   s    
z)LimitedHistoryLogObserverTests.test_limitN)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r      s   r   N)r!   Zzope.interface.verifyr   r   Ztwisted.trialr   Z	_observerr   Z_bufferr   ZTestCaser   r   r   r   r   <module>   s
   