ó
'![c           @   sj   d  Z  d d l Z d d l Z d d l Z d d l m Z d d l m Z m Z d e f d „  ƒ  YZ	 d S(   s%   Tests for pylint.checkers.exceptions.iÿÿÿÿN(   t
   exceptions(   t   CheckerTestCaset   Messaget   TestExceptionsCheckerc           B   s¡   e  Z d  Z e j Z e j j e	 j
 d d k d d ƒd „  ƒ Z e j j e	 j
 d d k d d ƒd „  ƒ Z e j j e	 j
 d d k d d	 ƒd
 „  ƒ Z RS(   s%   Tests for pylint.checkers.exceptions.i    i   t   reasons*   The test should emit an error on Python 3.c         C   sQ   t  j d ƒ } t d d | d d ƒ} |  j | ƒ  |  j j | ƒ Wd  QXd  S(   Ns#   raise (ZeroDivisionError, None)  #@s   raising-bad-typet   nodet   argst   tuple(   t   astroidt   extract_nodeR   t   assertAddsMessagest   checkert   visit_raise(   t   selfR   t   message(    (    sF   lib/python2.7/site-packages/pylint/test/unittest_checker_exceptions.pyt   test_raising_bad_type_python3"   s    i   s#   The test is valid only on Python 2.c      
   C   sí   t  j d ƒ } |  j ƒ   |  j j | d ƒ Wd  QX|  j ƒ   |  j j | d ƒ Wd  QXt d d | d d d ƒ} |  j | ƒ  |  j j | d ƒ Wd  QXt d d | d	 d d ƒ} |  j | ƒ  |  j j | d	 ƒ Wd  QXd  S(
   Ns°   
        raise (ZeroDivisionError, None)  #@
        from something import something
        raise (something, None) #@

        raise (4, None) #@
        raise () #@
        i    i   s   raising-bad-typeR   i   R   R   i   (   R   R	   t   assertNoMessagesR   R   R   R
   (   R   t   nodesR   (    (    sF   lib/python2.7/site-packages/pylint/test/unittest_checker_exceptions.pyt   test_raising_bad_type_python2*   s    	s#   The test is valid only on Python 3.c         C   sK   t  j d ƒ } t d d | ƒ} |  j | ƒ  |  j j | ƒ Wd  QXd  S(   Nsš   
        def function():
            pass

        try:
            pass
        except function as exc:
            raise Exception from exc  #@
        s   bad-exception-contextR   (   R   R	   R   R
   R   R   (   R   R   R   (    (    sF   lib/python2.7/site-packages/pylint/test/unittest_checker_exceptions.pyt#   test_bad_exception_context_functionA   s
    	(   t   __name__t
   __module__t   __doc__R    t   ExceptionsCheckert   CHECKER_CLASSt   pytestt   markt   skipift   syst   version_infoR   R   R   (    (    (    sF   lib/python2.7/site-packages/pylint/test/unittest_checker_exceptions.pyR      s   	(
   R   R   R   R   t   pylint.checkersR    t   pylint.testutilsR   R   R   (    (    (    sF   lib/python2.7/site-packages/pylint/test/unittest_checker_exceptions.pyt   <module>   s   