ó
_y]c           @   sĻ   d  d l  Z  d  d l Z d  d l m Z d  d l m Z m Z d d l m Z e j	 j
 e d d d e  j f d	     Y Z e d
 k rĪ d  d l Z e j   n  d S(   iĸĸĸĸN(   t   QtGui(   t   KillRingt
   QtKillRingi   (   t
   no_displayt   reasons   Doesn't work without a displayt   TestKillRingc           B   sA   e  Z e d     Z e d    Z d   Z d   Z d   Z RS(   c         C   sJ   t  j j   |  _ |  j d k r6 t  j g   |  _ n  |  j j t  d S(   s3    Create the application for the test case.
        N(   R    t   QApplicationt   instancet   _appt   Nonet   setQuitOnLastWindowClosedt   False(   t   cls(    (    s=   lib/python2.7/site-packages/qtconsole/tests/test_kill_ring.pyt
   setUpClass   s    c         C   s   t  j j   d S(   s    Exit the application.
        N(   R    R   t   quit(   R   (    (    s=   lib/python2.7/site-packages/qtconsole/tests/test_kill_ring.pyt   tearDownClass   s    c         C   s  t    } |  j | j   d k  |  j | j   d k  | j d  |  j | j   d  |  j | j   d k  |  j | j   d  | j d  |  j | j   d  |  j | j   d  | j   |  j | j   d k  |  j | j   d k  d S(   s*    Does the generic kill ring work?
        t   foot   barN(   R   t
   assertTruet   yankR	   t   rotatet   killt   assertEqualt   clear(   t   selft   ring(    (    s=   lib/python2.7/site-packages/qtconsole/tests/test_kill_ring.pyt   test_generic   s    	
c         C   sŋ   t  j   } t |  } | j d  | j d  | j   | j   | j   |  j | j   d  | j   | j d  | j   | j   | j   | j   |  j | j   d  d S(   s%    Does the Qt kill ring work?
        R   R   t   foobart   bazN(	   R    t   QPlainTextEditR   R   R   R   R   t   toPlainTextR   (   R   t	   text_editR   (    (    s=   lib/python2.7/site-packages/qtconsole/tests/test_kill_ring.pyt   test_qt_basic0   s    







c         C   ss   t  j   } t |  } | j d  | j d  | j   | j t  j j  | j   |  j	 | j
   d  d S(   sD    Does the Qt kill ring maintain state with cursor movement?
        R   R   N(   R    R   R   R   R   t
   moveCursort   QTextCursort   LeftR   R   R   (   R   R   R   (    (    s=   lib/python2.7/site-packages/qtconsole/tests/test_kill_ring.pyt   test_qt_cursorE   s    

(   t   __name__t
   __module__t   classmethodR   R   R   R    R$   (    (    (    s=   lib/python2.7/site-packages/qtconsole/tests/test_kill_ring.pyR   
   s
   			t   __main__(   t   unittestt   pytestt   qtconsole.qtR    t   qtconsole.kill_ringR   R   t    R   t   markt   skipift   TestCaseR   R%   t   main(    (    (    s=   lib/python2.7/site-packages/qtconsole/tests/test_kill_ring.pyt   <module>   s   H