mò
­fIc           @   sf   d  k  Z  d  k Z d  k Z d k l Z d e i f d „  ƒ  YZ d „  Z e d j o e ƒ  n d  S(   N(   s   test_supportt   SyntaxTestCasec           B   s2   t  Z d d d „ Z d „  Z d „  Z d „  Z RS(   Ns
   <testcase>t   execc         C   sz   y t  | | | ƒ WnR t j
 oF } t i | t	 | ƒ ƒ } | d j o |  i d | f ƒ qv n X|  i d ƒ d S(   s®   Check that compiling code raises SyntaxError with errtext.

        errtest is a regular expression that must be present in the
        test of the exception raised.
        s    SyntaxError did not contain '%r's#   compile() did not raise SyntaxErrorN(   t   compilet   codet   filenamet   modet   SyntaxErrort   errt   ret   searcht   errtextt   strt   mot   Nonet   selft   fail(   R   R   R
   R   R   R   R   (    (    t-   /mit/python/lib/python2.4/test/test_syntax.pyt   _check_error	   s     c         C   s   |  i d d ƒ d  S(   Ns   f() = 1t   assign(   R   R   (   R   (    (    R   t   test_assign_call   s    c         C   s   |  i d d ƒ d  S(   Ns   del f()t   delete(   R   R   (   R   (    (    R   t   test_assign_del   s    c         C   sO   t  i d d d ƒ } t i d d d t ƒ |  i | d ƒ t i i	 d ƒ d  S(	   Ns   (?m)^ *:t    s¯               :def error(a):
            :    global a  # SyntaxError
            :def warning():
            :    b = 1
            :    global b  # SyntaxWarning
            :t   actiont   ignoret   categoryt   globali    (
   R   t   subt   sourcet   warningst   filterwarningst   SyntaxWarningR   R   t   filterst   pop(   R   R   (    (    R   t   test_global_err_then_warn   s
    	(   t   __name__t
   __module__R   R   R   R"   (    (    (    R   R       s   		c           C   s   t  i t ƒ d  S(   N(   t   test_supportt   run_unittestR    (    (    (    R   t	   test_main-   s    t   __main__(	   R   t   unittestR   t   testR%   t   TestCaseR    R'   R#   (   R%   R   R)   R    R   R'   (    (    R   t   ?   s   			&	