ó
'![c           @   sÒ  d  Z  d d l Z d d l Z d d l m Z d d l Z d d l m Z m Z d d l	 m
 Z
 m Z d d l m Z d d l m Z i d d 6d d	 6d d
 6d d 6d d 6d d 6d d 6d8 d 6d d 6d d 6e d 6e d 6Z d e f d     YZ d   Z d d  Z d d g Z e j d d  d     Z e j j d!  e j j d" e  d#     Z e j j d$ d% d& g d' f d( d) d* g d+ f d, g d- f d. d/ d0 d1 d2 d3 d4 d5 g d6 f g  d7    Z d S(9   sB   
unit test for visitors.diadefs and extensions.diadefslib modules
iÿÿÿÿN(   t   unified_diff(   t   Linkert   project_from_files(   t   DefaultDiadefGeneratort   DiadefsHandler(   t	   DotWriter(   t   get_visibilityt   all_ancestorst   show_associatedt   module_namest   dott   output_formatt   diadefs_filei    t   quiett   show_ancestorst   classest   all_associatedt   PUB_ONLYt   modet   show_builtint   only_classnamest   Configc           B   s   e  Z d  Z d   Z RS(   s   config object for testsc         C   s1   x* t  j   D] \ } } t |  | |  q Wd  S(   N(   t	   _DEFAULTSt   itemst   setattr(   t   selft   attrt   value(    (    sD   lib/python2.7/site-packages/pylint/test/unittest_pyreverse_writer.pyt   __init__'   s    (   t   __name__t
   __module__t   __doc__R   (    (    (    sD   lib/python2.7/site-packages/pylint/test/unittest_pyreverse_writer.pyR   %   s   c         C   s   t  j |  d d Q } g  | j   D]7 } | j d  d k r% | j d  r% | j   ^ q% } Wd  QXg  | D] } | ro | ^ qo S(   Nt   encodingt   latin1s   squeleton generated by iÿÿÿÿs   __revision__ = "$Id:(   t   codecst   opent	   readlinest   findt
   startswitht   strip(   t   patht   streamt   linet   lines(    (    sD   lib/python2.7/site-packages/pylint/test/unittest_pyreverse_writer.pyt   _file_lines,   s
    (s   No Namec         C   s   d   } t  |  g | d | S(   s'   return a astroid project representationc         S   s
   |  |  S(   N(    (   t   funct   modname(    (    sD   lib/python2.7/site-packages/pylint/test/unittest_pyreverse_writer.pyt   _astroid_wrapper7   s    t   project_name(   R   (   t   modulet   nameR/   (    (    sD   lib/python2.7/site-packages/pylint/test/unittest_pyreverse_writer.pyt   get_project5   s    	s   packages_No_Name.dots   classes_No_Name.dott   scopeR1   c          c   sÌ   t  t j j t j j t  d   }  t |   } t   } t |  } t	 | |  j
 |   } x | D] } | j   qg Wt |  } | j |  d  Vx, t D]$ } y t j |  Wq  q  q  Xq  Wd  S(   Nt   data(   R3   t   osR(   t   joint   dirnamet   __file__R   R   R   R   t   visitt   extract_relationshipsR   t   writet	   DOT_FILESt   remove(   t   projectt   linkert   CONFIGt   handlert   ddt   diagramt   writert   fname(    (    sD   lib/python2.7/site-packages/pylint/test/unittest_pyreverse_writer.pyt   setup@   s    '	RG   t   generated_filec         C   sÅ   t  j j t  j j t  d |   } t |   } t |  } d j |  } d j |  } d | |  f } | | k sŽ t d | d j d   t | j   | j    D  f   t  j	 |   d  S(   NR5   s   
s%   
 *** expected : %s, generated : %s 
s   %s%sc         s   s   |  ] } | Vq d  S(   N(    (   t   .0R*   (    (    sD   lib/python2.7/site-packages/pylint/test/unittest_pyreverse_writer.pys	   <genexpr>^   s    (
   R6   R(   R7   R8   R9   R,   t   AssertionErrorR    t
   splitlinesR>   (   RH   t   expected_filet	   generatedt   expectedt   files(    (    sD   lib/python2.7/site-packages/pylint/test/unittest_pyreverse_writer.pyt   test_dot_filesS   s    $&s   names, expectedt   __reduce_ex__t   __setattr__t   specialt   __g_t   ____dsft   __23_9t   privatet   simplet   publict   _t   __t   ___t   ____t   _____t   ___e__t   _nextsimplet   _filter_it_t	   protectedc         C   sF   x? |  D]7 } t  |  } | | k s t d | | | f   q Wd  S(   Ns!   got %s instead of %s for value %s(   R   RJ   (   t   namesRN   R2   t   got(    (    sD   lib/python2.7/site-packages/pylint/test/unittest_pyreverse_writer.pyt   test_get_visibilityc   s    (    (   R   R6   R"   t   difflibR    t   pytestt   pylint.pyreverse.inspectorR   R   t   pylint.pyreverse.diadefslibR   R   t   pylint.pyreverse.writerR   t   pylint.pyreverse.utilsR   t   Nonet   FalseR   t   objectR   R,   R3   R=   t   fixtureRG   t   markt   usefixturest   parametrizeRP   Re   (    (    (    sD   lib/python2.7/site-packages/pylint/test/unittest_pyreverse_writer.pyt   <module>   s6   		!