ó
~Sc           @  sz   d  d l  m Z d  d l Z d  d l Z d  d l m Z m Z m Z d e j f d     YZ	 e
 d k rv e j   n  d S(   iÿÿÿÿ(   t   with_statementN(   t   enginet   utilt   __version__t
   TestEnginec           B  sY   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         C  s   i  |  _  d  S(   N(   t   patches(   t   self(    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyt   setUp
   s    c         C  s%   t  |  j j    d k s! t  d  S(   Ni    (   t   lenR   t   itemst   AssertionError(   R   (    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyt   tearDown   s    c         C  s'   t  j |  |  j | <|  j | j   S(   N(   t   mockt   patchR   t   start(   R   R   (    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyt   start_patch   s    c         C  sD   |  j  j   } x. | j   D]  \ } } | j   |  j  | =q Wd  S(   N(   R   t   copyR	   t   stop(   R   R   t   kt   v(    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyt   stop_patches   s    
c         C  s]   t  j d  H } g  g  g  f | _ t j   } |  j t | t j   | j   Wd  QXd  S(   Ns"   flake8.engine._register_extensions(	   R   R   t   return_valueR   t   get_style_guidet
   assertTruet
   isinstancet
   StyleGuidet   assert_called_once_with(   R   t   reg_extt   g(    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyt   test_get_style_guide   s
    c         C  s   t  j   } t  j d  r } t  j d  ? } d | j j _ | g  f | _ t j d d  | j   Wd  QX| j i | d 6d d 6  Wd  QXd  S(   Ns   flake8.engine.StyleGuides   flake8.engine.get_parseri*   t   foot   bart   parser(	   R   t   MockR   R   t   optionst   jobsR   R   R   (   R   t   mR   t
   get_parser(    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyt   test_get_style_guide_kwargs!   s    c      	   C  s   t  j d   } t j   } |  j t | d t j   |  j t | d  d k  x( | d D] } |  j t | t	   qc W| j
   Wd  QXd  S(   Ns   pep8.register_checki    i   (   R   R   R   t   _register_extensionsR   R   R   t
   OrderedSetR   t   listt   assert_called(   R   t   register_checkt   registered_extst   i(    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyt   test_register_extensions+   s    c         C  så   |  j  d  } |  j  d  } |  j  d  } t j   } d d g g  g  f | _ d | _ | | _ t j   \ } } | j   | j   | j d	 d
 t  | j	 j   | j
 j   |  j | |  |  j | g   |  j   d  S(   Ns"   flake8.engine._register_extensionss    flake8.engine.get_python_versions   pep8.get_parsert   pyflakess   0.7t   mccabes   0.2s   Python Versiont   flake8s.   %s (pyflakes: 0.7, mccabe: 0.2) Python Version(   R/   s   0.7(   R0   s   0.2(   R   R   R!   R   R   R%   R*   R   R   t   remove_optiont
   add_optiont   assertEqualR   (   R   t   ret   gpvt   pgpR$   R    t   hooks(    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyt   test_get_parser4   s$    		

c         C  s   |  j  d t j   k  d  S(   Nt   on(   R   R   t   get_python_version(   R   (    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyt   test_get_python_versionL   s    (   t   __name__t
   __module__R   R   R   R   R   R&   R.   R9   R<   (    (    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyR   	   s   						
			t   __main__(   t
   __future__R    t   unittestR   R1   R   R   R   t   TestCaseR   R=   t   main(    (    (    s:   /Users/icordasc/sandbox/flake8/flake8/tests/test_engine.pyt   <module>   s   I