ó
æNXc           @   s«   d  Z  d d l Z d d l Z d d l Z d d l j Z d d l m Z m	 Z	 d d l
 m Z d d l
 m Z d d l m Z d „  Z d	 „  Z d
 e f d „  ƒ  YZ d S(   s   Tests for genutils.pathiÿÿÿÿNi   (   t   skip_if_not_win32t
   skip_win32(   t   path(   t	   py3compat(   t   TemporaryDirectoryc          C   s%   t  j ƒ  }  t j |  j d ƒ } d  S(   Nt   .(   t   tempfilet   NamedTemporaryFileR   t   filefindt   name(   t   ft   t(    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   test_filefind   s    c       
   C   s¨   t  ƒ  ™ }  t j j |  d ƒ } t j | ƒ t j j | ƒ sF t ‚ t j | ƒ t j j |  d ƒ } t | d ƒ j ƒ  t	 j
 t ƒ  t j | ƒ Wd  QXWd  QXd  S(   Nu   âˆ‚iru   Æ’ilet   w(   R   t   osR   t   joint   ensure_dir_existst   isdirt   AssertionErrort   opent   closet   ntt   assert_raisest   IOError(   t   tdt   dR
   (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   test_ensure_dir_exists   s    t   TestLinkOrCopyc           B   s’   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e d „  ƒ Z	 e d „  ƒ Z
 e d „  ƒ Z e d	 „  ƒ Z e d
 „  ƒ Z d „  Z RS(   c         C   sJ   t  ƒ  |  _ |  j d ƒ |  _ t |  j d ƒ  } | j d ƒ Wd  QXd  S(   Nt   srcR   s   Hello, world!(   R   t   tempdirt   dstR   R   t   write(   t   selfR
   (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   setUp%   s    c         C   s   |  j  j ƒ  d  S(   N(   R   t   cleanup(   R    (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   tearDown+   s    c         G   s   t  j j |  j j | Œ S(   N(   R   R   R   R   R	   (   R    t   args(    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyR   .   s    c         C   s9   t  j t j | ƒ j t j | ƒ j d | | f ƒ d  S(   Ns&   %r and %r do reference the same indoes(   R   t   assert_not_equalsR   t   statt   st_ino(   R    t   at   b(    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   assert_inode_not_equal1   s    $c         C   s9   t  j t j | ƒ j t j | ƒ j d | | f ƒ d  S(   Ns*   %r and %r do not reference the same indoes(   R   t   assert_equalsR   R&   R'   (   R    R(   R)   (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   assert_inode_equal5   s    $c         C   sJ   t  | ƒ 8 } t  | ƒ # } t j | j ƒ  | j ƒ  ƒ Wd  QXWd  QXd  S(   N(   R   R   R+   t   read(   R    R(   R)   t   a_ft   b_f(    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   assert_content_equal9   s    c         C   s9   |  j  d ƒ } t j |  j | ƒ |  j |  j | ƒ d  S(   Nt   target(   R   R   t   link_or_copyR   R,   (   R    R   (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   test_link_successful>   s    c         C   sg   |  j  d ƒ } t j | ƒ t j |  j | ƒ |  j  d t j j |  j ƒ ƒ } |  j |  j | ƒ d  S(   Nt   some_dir(   R   R   t   mkdirR   R2   R   t   basenameR,   (   R    R   t   expected_dst(    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   test_link_into_dirD   s
    !c         C   sL   |  j  d ƒ } t | d ƒ j ƒ  t j |  j | ƒ |  j |  j | ƒ d  S(   NR1   R   (   R   R   R   R   R2   R   R,   (   R    R   (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   test_target_existsL   s    c         C   sl   t  j } zR t  ` |  j d ƒ } t j |  j | ƒ |  j |  j | ƒ |  j |  j | ƒ Wd  | t  _ Xd  S(   NR1   (   R   t   linkR   R   R2   R   R0   R*   (   R    t	   real_linkR   (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   test_no_linkS   s    	c         C   s9   |  j  d ƒ } t j |  j | ƒ |  j |  j | ƒ d  S(   NR1   (   R   R   R2   R   R0   (   R    R   (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   test_windows_   s    c         C   sw   |  j  d ƒ } t j |  j | ƒ t j |  j | ƒ |  j |  j | ƒ t j t t j	 |  j
 j ƒ ƒ d d g ƒ d  S(   NR1   R   (   R   R   R2   R   R,   R   t   assert_equalt   sortedR   t   listdirR   R	   (   R    R   (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   test_link_twicee   s
    (   t   __name__t
   __module__R!   R#   R   R*   R,   R0   R   R3   R8   R9   R<   R    R=   RA   (    (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyR   $   s   						(   t   __doc__R   t   sysR   t
   nose.toolst   toolsR   t   testing.decoratorsR    R   t    R   R   R   R   R   R   t   objectR   (    (    (    sX   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/ipython_genutils/tests/test_path.pyt   <module>   s   		