ó
§xxTc           @   s‰  d  Z  d d l Z d d l Z d d l m Z d d l m Z m Z m Z d d l	 Z	 d d l
 m Z d d l m Z m Z d d l m Z d „  Z d	 „  Z d
 d d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ e d k r…e j d d d d ƒ n  d S(   s9   Test functions and SearchEngine class in SearchEngine.py.iÿÿÿÿN(   t   requires(   t
   BooleanVart	   StringVart   TclError(   t   SearchEngine(   t   Vart   Mbox(   t   Textc           C   s   t  t _ t  t _ t t _ d  S(   N(   R   t   seR   R   R   t   tkMessageBox(    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   setUpModule   s    		c           C   s   t  t _  t t _ t t _ d  S(   N(   R   R   R   R	   (    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   tearDownModule   s    		t   Mockc           B   s   e  Z d  „  Z RS(   c         O   s   d  S(   N(    (   t   selft   argst   kwargs(    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   __init__   s    (   t   __name__t
   __module__R   (    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyR      s   t   GetTestc           B   s   e  Z d  „  Z RS(   c         C   s~   t  j } t t  _ z[ t ƒ  } t  j | ƒ } |  j | t  j ƒ |  j | j | ƒ |  j t  j | ƒ | ƒ Wd  | t  _ Xd  S(   N(   R   R   R   t   gett   assertIsInstancet   assertIst   _searchengine(   R   t   saved_Enginet   roott   engine(    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_get#   s    			(   R   R   R   (    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyR   !   s   t   GetLineColTestc           B   s   e  Z d  „  Z RS(   c         C   sb   |  j  t j d ƒ d ƒ |  j  t j d ƒ d	 ƒ |  j t t j d ƒ |  j t t j d ƒ d  S(
   Ns   1.0i   i    s   1.11i   s   1.0 lineendt   end(   i   i    (   i   i   (   t   assertEqualR   t   get_line_colt   assertRaisest
   ValueError(   R   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_get_line_col1   s    (   R   R   R"   (    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyR   /   s   t   GetSelectionTestc           B   s   e  Z d  „  Z RS(   c         C   ss   t  ƒ  } | j d d ƒ d „  } | | _ |  j t j | ƒ d ƒ d „  } | | _ |  j t j | ƒ d ƒ d  S(	   Ns   1.0s   Hello World!c         S   s*   |  d k r d S|  d k r  d St  ‚ d  S(   Ns	   sel.firsts   1.0s   sel.lasts   1.12(   R   (   t   s(    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   selK   s
      s   1.12c         S   s   |  d k r d St  ‚ d  S(   Nt   inserts   1.5(   R   (   R$   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   markS   s     s   1.5(   s   1.0s   1.12(   s   1.5s   1.5(   t   mockTextR&   t   indexR   R   t   get_selection(   R   t   textR%   R'   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_get_selectionE   s    					(   R   R   R,   (    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyR#   8   s   t   ReverseSearchTestc           B   s   e  Z d  „  Z RS(   c         C   sÌ   |  j  } d } t j d ƒ } | t j | | t | ƒ ƒ j ƒ  d	 ƒ | t j | | d ƒ j ƒ  d
 ƒ | t j | | d ƒ j ƒ  d ƒ | t j | | d ƒ j ƒ  d ƒ | t j | | d ƒ d  ƒ d  S(   Ns   Here is an 'is' test text.t   isi   i   i   i   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   t   ret   compileR   t   search_reverset   lent   spant   None(   R   t   Equalt   linet   prog(    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_search_reverse]   s    	("""(   R   R   R8   (    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyR-   [   s   t   SearchEngineTestc           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  j d d  ƒ |  _ d  S(   NR   (   R   R   R4   R   (   R   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   setUpk   s    c         C   sW  |  j  } |  j } | | j ƒ  d ƒ | j d ƒ | | j ƒ  d ƒ | | j ƒ  t ƒ | j j d ƒ | | j ƒ  t ƒ | | j	 ƒ  t ƒ | j
 j d ƒ | | j	 ƒ  t ƒ | | j ƒ  t ƒ | j j d ƒ | | j ƒ  t ƒ | | j ƒ  t ƒ | j j d ƒ | | j ƒ  t ƒ | | j ƒ  t ƒ | j j d ƒ | | j ƒ  t ƒ d  S(   Nt    t   helloi   i    (   R   R   t   getpatt   setpatt   isret   Falset   revart   sett   Truet   iscaset   casevart   iswordt   wordvart   iswrapt   wrapvart   isbackt   backvar(   R   R   R5   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_is_getp   s(    		c         C   sc   |  j  } | j d ƒ |  j | j ƒ  d ƒ | j j d ƒ | j d ƒ |  j | j ƒ  d ƒ d  S(   Ns   \si   s   \\s(   R   t   setcookedpatR   R=   RA   RB   (   R   R   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_setcookedpatŒ   s    	c         C   s¿   |  j  } |  j } | | j ƒ  d ƒ | j d ƒ | | j ƒ  d ƒ | j j t ƒ | | j ƒ  d ƒ | j j t ƒ | j d ƒ | | j ƒ  d ƒ | j j t ƒ | | j ƒ  d ƒ d  S(   NR;   R<   s	   \bhello\bs   \ss   \\s(	   R   R   t   getcookedpatR>   RG   RB   RC   R@   RA   (   R   R   R5   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_getcookedpat”   s    		c         C   sò   |  j  } |  j } | j d ƒ | j ƒ  } | | j t j d t j ƒ j ƒ | j j	 d ƒ | j ƒ  } | | j t j d ƒ j d ƒ | j d ƒ | | j ƒ  d  ƒ | j d ƒ | j j	 d ƒ | | j ƒ  d  ƒ |  j t j j d ƒ d  S(   Nt   Helloi   i    R;   t   +s#   Error: nothing to repeat
Pattern: +(   R   R   R>   t   getprogt   patternR/   R0   t
   IGNORECASERE   RB   R4   RA   R   t	   showerrort   message(   R   R   R5   t   temppat(    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_getprog¤   s    		"c         C   sµ   t  j } |  j } d } d } | |  j j | | ƒ d  ƒ | | j d ƒ d | d } | | j | ƒ | |  j j | | d ƒ d  ƒ | | j d ƒ | d 7} | | j | ƒ d  S(   Ns   [a-zs$   unexpected end of regular expressions   Regular expression errors   Error: s   
Pattern: [a-zi   s
   
Offset: 5(   R   RV   R   R   t   report_errorR4   t   titleRW   (   R   RV   R5   t   patt   msgt   expected_message(    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_report_error·   s    		
(   R   R   R:   RL   RN   RP   RY   R_   (    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyR9   h   s   					t
   SearchTestc           B   s    e  Z e d  „  ƒ Z d „  Z RS(   c         C   sk   t  ƒ  |  _ d } |  j j d | ƒ t j d ƒ |  _ t j d  ƒ |  _	 d „  |  j	 _
 d „  |  j	 _ d  S(   Ns&   First line
Line with target
Last line
s   1.0t   targetc          W   s
   d |  f S(   Nt   f(    (   R   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   <lambda>Ù   s    c          W   s
   d |  f S(   Nt   b(    (   R   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyRc   Ú   s    (   R(   R+   R&   R/   R0   R\   R   R   R4   R   t   search_forwardt   search_backward(   t   clst	   test_text(    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt
   setUpClassË   s    c      	   C   s  |  j  } |  j } | j } |  j } |  j } | j j d  ƒ | | | ƒ d  ƒ d „  } | | _ | | | | ƒ d | | d d t	 t
 f f ƒ | j j t
 ƒ | | | | ƒ d | | d d t
 t
 f f ƒ | j j t	 ƒ | j j t	 ƒ | | | | ƒ d | | d d t	 t
 f f ƒ | j j t
 ƒ d „  } | | _ | | | | ƒ d | | d d t	 t
 f f ƒ | | | | t	 ƒ d | | d d	 t	 t	 f f ƒ | j j t	 ƒ | | | | ƒ d | | d d	 t	 t
 f f ƒ | | | | t	 ƒ d | | d d t	 t	 f f ƒ d  S(
   Nc         S   s   |  d k r d St  ‚ d  S(   NR&   s   1.5(   R   (   R$   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyR'   ì   s     Rb   i   i   Rd   c         S   s*   |  d k r d S|  d k r  d St  ‚ d  S(   Ns	   sel.firsts   2.10s   sel.lasts   2.16(   R   (   R$   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyR%   ù   s
      i   i   i
   (   R   R   t   search_textR+   R\   t   patvarRB   R4   R)   RC   R@   RI   RK   (   R   R5   R   t   searchR+   R\   R'   R%   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_searchá   s.    							...		.1.(   R   R   t   classmethodRi   Rm   (    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyR`   È   s   t   ForwardBackwardTestc           B   s2   e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z RS(   c         C   s�   t  j d  ƒ |  _ t ƒ  |  _ d „  |  j _ d } |  j j d | ƒ t j	 d ƒ |  _
 d d
 f |  _ t j	 d ƒ |  _ t j	 d	 ƒ |  _ d  S(   Nc         S   s   d S(   Ns   4.0(    (   R)   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyRc     s    s&   First line
Line with target
Last line
s   1.0Ra   i   i
   i   t   xyzs   \w*(   i
   i   (   R   R   R4   R   R(   R+   R)   R&   R/   R0   R\   t   rest   failpatt   emptypat(   Rg   Rh   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyRi     s    c            s   d ‡  ‡ f d † } | S(   Ni    c            s@   ˆ  ˆ j  |  | | | | ƒ } | r< | d | d j ƒ  f S| S(   Ni    i   (   R+   R3   (   R\   R6   t   colt   wrapt   okRq   (   t   funcR   (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyRl      s    (    (   R   Rw   Rl   (    (   Rw   R   sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   make_search  s    c         C   s  |  j  } |  j |  j j ƒ } |  j } | | | d d t ƒ |  j ƒ | | | d d t ƒ |  j ƒ | | | d d t ƒ d  ƒ | | | d d t ƒ |  j ƒ | | |  j	 d d t ƒ d  ƒ | | |  j
 d d t d t ƒd d f ƒ | | |  j
 d d t ƒ |  j ƒ d  S(	   Ni   i    i   i   i
   i	   Rv   (   i	   i	   (   R   Rx   R   Re   R\   RC   Rq   R@   R4   Rr   Rs   (   R   R5   t   forwardR\   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_search_forward&  s    		+c         C   s  |  j  } |  j |  j j ƒ } |  j } | | | d d t ƒ |  j ƒ | | | d d t ƒ |  j ƒ | | | d d t ƒ d  ƒ | | | d d t ƒ |  j ƒ | | |  j	 d d t ƒ d  ƒ | | |  j
 d d t d t ƒd d	 f ƒ | | |  j
 d d t ƒ d d
 f ƒ d  S(   Ni   i   i   i    i   i	   i
   Rv   (   i	   i	   (   i   i	   (   R   Rx   R   Rf   R\   RC   Rq   R@   R4   Rr   Rs   (   R   R5   t   backwardR\   (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   test_search_backward7  s    		+(   R   R   Rn   Ri   Rx   Rz   R|   (    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyRo     s   		t   __main__t	   verbosityi   t   exit(    (   t   __doc__R/   t   unittestt   test.test_supportR    t   TkinterR   R   R   R	   t   idlelibR   R   t   idlelib.idle_test.mock_tkR   R   R   R(   R
   R   R   t   TestCaseR   R   R#   R-   R9   R`   Ro   R   t   main(    (    (    sO   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/idle_test/test_searchengine.pyt   <module>   s(   			#`=C