ó
¶qëcc           @   sS  d  d l  m Z d  d l m Z d  d l m Z m Z d  d l m	 Z	 m
 Z
 m Z m Z d  d l m Z d  d l m Z d  d l m Z m Z y d  d l m Z Wn e k
 r» d	 Z n Xd  d	 l Z d
 e j f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d	 S(   iÿÿÿÿ(   t   storage(   t	   FileField(   t	   post_savet   pre_save(   t   filest   signal_handlerst   signalsR    (   t   aliases(   t   settings(   t   modelst   utils(   t   loadingNt   BaseTestc           B   s    e  Z e Z d  „  Z d „  Z RS(   c         C   s;  t  t |  ƒ j ƒ  i i i d d 6d 6i d d 6d 6i d d 6d 6d 6i i d d 6d 6i d d 6t d 6d 6d 6i i d d 6t d 6d 6i d d 6t d 6d 6d 6i i d d 6d 6d 6t _ t j |  _ i  t _ t j	 ƒ  |  j
 r7t j ƒ  |  _ |  j |  j d ƒ t j j j d ƒ } |  j | _ |  j | _ n  d  S(   Niô  t   sizet   largei,  t   mediumid   t   smallt    iÈ   iX  iP   t   cropt   banners   easy_thumbnails_tests.Profilet   avatari   s$   easy_thumbnails_tests.Profile.avatari–   iú   t   sidebart	   other_apps   avatars/test.jpg(   iô  iô  (   i,  i,  (   id   id   (   iÈ   iÈ   (   iX  iP   (   iP   iP   (   i   i   (   i–   iú   (   t   superR   t   setUpt   TrueR   t   THUMBNAIL_ALIASESR   t   _aliasest   _BaseTest__aliasest   populate_from_settingst   create_fileR
   t   TemporaryStorageR    t   create_imageR	   t   Profilet   _metat	   get_fieldt   thumbnail_storage(   t   selft   field(    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyR      s.    	
	c         C   s<   |  j  t _ |  j r% |  j j ƒ  n  t t |  ƒ j ƒ  d  S(   N(	   R   R   R   R   R    t   delete_temporary_storageR   R   t   tearDown(   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyR(   4   s    	(   t   __name__t
   __module__t   FalseR   R   R(   (    (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyR      s   	!t	   AliasTestc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e j	 e
 d ƒ d „  ƒ Z RS(   c         C   so   |  j  t j d ƒ d  ƒ |  j  t j d ƒ i d d 6ƒ |  j  t j d ƒ d  ƒ |  j  t j d ƒ d  ƒ d  S(   Nt   invalidR   id   R   R   R   (   id   id   (   t   assertEqualR   t   gett   None(   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_global=   s     c         C   s^   |  j  t j d d d ƒi d	 d 6t d 6ƒ |  j  t j d d d ƒi d
 d 6t d 6ƒ d  S(   NR   t   targets$   easy_thumbnails_tests.Profile.avatariP   R   R   R   i   (   iP   iP   (   i   i   (   R.   R   R/   R   (   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_targetC   s    c         C   s}   |  j  t j d d d ƒi d
 d 6t d 6ƒ |  j  t j d d d ƒi d d 6t d 6ƒ |  j  t j d d d	 ƒd  ƒ d  S(   NR   R2   s$   easy_thumbnails_tests.Profile.avatariX  iP   R   R   s   easy_thumbnails_tests.Profilet   easy_thumbnails_tests(   iX  iP   (   iX  iP   (   R.   R   R/   R   R0   (   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_partial_targetM   s    c         C   so   |  j  t j d d d ƒi d
 d 6ƒ |  j  t j d d d ƒi d d 6ƒ |  j  t j d	 d d ƒd  ƒ d  S(   NR   R2   s(   easy_thumbnails_tests.Profile.not_avatarid   R   R   s$   easy_thumbnails_tests.Profile.avatari,  R-   (   id   id   (   i,  i,  (   R.   R   R/   R0   (   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_target_fallbackX   s    c         C   sS  |  j  t j ƒ  i i d d 6d 6i d d 6d 6i d d 6d 6ƒ |  j  t j d ƒ i i d d 6d 6i d d 6d 6i d d 6d 6ƒ |  j  t j d	 ƒ i i d d 6t d 6d 6i d d 6d 6i d d 6d 6i d d 6d 6ƒ |  j  t j d ƒ i i d d 6t d 6d 6i d d 6t d 6d 6i d d 6d 6i d d 6d 6i t d 6d  d 6d 6ƒ d  S(!   Niô  R   R   i,  R   id   R   t   unknown_apps   easy_thumbnails_tests.ProfileiX  iP   R   R   iÈ   s$   easy_thumbnails_tests.Profile.avatarR   i   (   iô  iô  (   i,  i,  (   id   id   (   iô  iô  (   i,  i,  (   id   id   (   iX  iP   (   iÈ   iÈ   (   i,  i,  (   id   id   (   iP   iP   (   iX  iP   (   iÈ   iÈ   (   i,  i,  (   i   i   (   R.   R   t   allR   (   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_alli   s6    	c         C   s²   |  j  t j d d t ƒi i d d 6t d 6d 6i d d 6d	 6ƒ |  j  t j d
 d t ƒi i d d 6t d 6d 6i d d 6t d 6d 6i d d 6d	 6i t d 6d d 6d 6ƒ d  S(   Ns   easy_thumbnails_tests.Profilet   include_globaliX  iP   R   R   R   iÈ   R   s$   easy_thumbnails_tests.Profile.avatarR   i   R   (   iX  iP   (   iÈ   iÈ   (   iP   iP   (   iX  iP   (   iÈ   iÈ   (   i   i   (   R.   R   R8   R+   R   (   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_all_no_global   s    s   Only needed in Django <1.9c         C   sq   d d l  m } t t j _ | t j d ƒ } | d d ƒ } |  j t	 j
 d d | j ƒi d d	 6t d
 6ƒ d  S(   Niÿÿÿÿ(   t   deferred_class_factoryt   logoR   s   avatars/test.jpgR   R2   i   R   R   (   R=   (   i   i   (   t   django.db.models.query_utilsR<   R+   R   t   cachet   loadedR	   R!   R.   R   R/   R   R   (   R%   R<   t   deferred_profilet   instance(    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_deferred¡   s    (   R)   R*   R1   R3   R5   R6   R9   R;   t   unittestt
   skipUnlessR   RC   (    (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyR,   ;   s   		
			$	t   AliasThumbnailerTestc           B   s    e  Z e Z d  „  Z d „  Z RS(   c         C   sK   t  j |  j d ƒ } |  j | _ | d } |  j | j | j f d ƒ d  S(   Ns   avatars/test.jpgR   id   iK   (   id   iK   (   R   t   get_thumbnailerR    R$   R.   t   widtht   height(   R%   t   thumbnailert   thumb(    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_thumbnailer¯   s    
c         C   sN   t  j d d ƒ } t j | j ƒ } | d } |  j | j | j f d ƒ d  S(   NR   s   avatars/test.jpgR   i   (   i   i   (   R	   R!   R   RG   R   R.   RH   RI   (   R%   t   profileRJ   RK   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_thumbnailer_fieldfileµ   s    
(   R)   R*   R   R   RL   RN   (    (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyRF   ¬   s   	t   GenerationBasec           B   s2   e  Z e Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s
   t  d ƒ S(   Ns$   Subclasses should return the handler(   t   NotImplementedError(   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   get_signal_handler¿   s    c         C   s‡   t  t |  ƒ j ƒ  t j j |  j ƒ  d t j ƒt	 j
 |  _ |  j j t	 _
 t j j |  _ |  j t j _ t j |  _ |  j t _ d  S(   Nt   sender(   R   RO   R   R   t
   saved_filet   connectRQ   R	   R!   R   t
   MEDIA_ROOTt   _MEDIA_ROOTR    t   temporary_locationt   django_storaget   default_storaget   _wrappedt   _old_default_storaget   thumbnail_default_storaget   _old_thumbnail_default_storage(   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyR   Â   s    	c         C   s]   |  j  t _ |  j t j _ |  j t _	 t
 j j |  j ƒ  d t j ƒt t |  ƒ j ƒ  d  S(   NRR   (   R]   R    R\   R[   RX   RY   RZ   RV   R   RU   R   RS   t
   disconnectRQ   R	   R!   R   RO   R(   (   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyR(   Ï   s    	c         C   s‡   | j  } t j d | d | ƒ x; | j j D]- } t | t ƒ r, t t | | j	 ƒ _
 q, q, Wt j d | d | ƒ |  j j d ƒ d S(   NRR   RB   t   avatarsi   (   t	   __class__R   t   sendR"   t   fieldst
   isinstanceR   R   t   getattrt   namet
   _committedR   R    t   listdir(   R%   RB   t   clsR&   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt	   fake_saveØ   s    	(   R)   R*   R   R   RQ   R   R(   Ri   (    (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyRO   ¼   s
   				t   GenerationTestc           B   sM   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   sA   
    Test the ``generate_aliases`` signal handler behaviour.
    c         C   s   t  j S(   N(   R   t   generate_aliases(   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyRQ   ç   s    c         C   s;   t  j d d ƒ } |  j | ƒ } |  j t | ƒ d ƒ d S(   sU   
        Thumbnails are not generated if there isn't anything to generate...
        R   i   N(   R	   R!   R0   Ri   R.   t   len(   R%   RM   R   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt
   test_emptyê   s    c         C   s;   t  j d d ƒ } |  j | ƒ } |  j t | ƒ d ƒ d S(   sJ   
        Thumbnails are only generated when the file is modified.
        R   s   avatars/test.jpgi   N(   R	   R!   Ri   R.   Rl   (   R%   RM   R   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_no_changeò   s    c         C   sG   t  j d d ƒ } t | j _ |  j | ƒ } |  j t | ƒ d ƒ d S(   sl   
        When a file is modified, thumbnails are built for all matching
        non-global aliases.
        R   s   avatars/test.jpgi   N(   R	   R!   R+   R   Rf   Ri   R.   Rl   (   R%   RM   R   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_changedú   s    c         C   sN   t  j d d ƒ } | j j d t ƒ |  j | ƒ } |  j t | ƒ d ƒ d  S(   NR   s   avatars/test.jpgt   savei    (   R	   R!   R   t   deleteR+   Ri   R.   Rl   (   R%   RM   R   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_deleted  s    c         C   s‰   t  j d d ƒ } | j } t | _ t j d | d | ƒ d | _ t j d | d | ƒ |  j j	 d ƒ d } |  j
 t | ƒ d ƒ d S(	   sS   
        A ClearablFileInput will set field value to False before pre_save
        R   s   avatars/test.jpgRR   RB   R   R_   i   N(   R	   R!   R`   R+   R   R   Ra   R   R    Rg   R.   Rl   (   R%   RM   Rh   R   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_clearable  s    			c         C   sn   t  j d d ƒ } |  j j |  j |  j d ƒ ƒ 5 } | | _ |  j | ƒ } |  j t | ƒ d ƒ Wd  QXd  S(   NR   s   avatars/test.jpgs   avatars/second.jpgi   (	   R	   R!   R    t   openR    R=   Ri   R.   Rl   (   R%   RM   R=   t
   list_files(    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   test_standard_filefield  s
    $	(
   R)   R*   t   __doc__RQ   Rm   Rn   Ro   Rr   Rs   Rv   (    (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyRj   â   s   						t   GlobalGenerationTestc           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   sH   
    Test the ``generate_aliases_global`` signal handler behaviour.
    c         C   s   t  j S(   N(   R   t   generate_aliases_global(   R%   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyRQ   .  s    c         C   s;   t  j d d ƒ } |  j | ƒ } |  j t | ƒ d ƒ d S(   sJ   
        Thumbnails are only generated when the file is modified.
        R   s   avatars/test.jpgi   N(   R	   R!   Ri   R.   Rl   (   R%   RM   R   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyRn   1  s    c         C   sG   t  j d d ƒ } t | j _ |  j | ƒ } |  j t | ƒ d ƒ d S(   sr   
        When a file is modified, thumbnails are built for all matching and
        project-wide aliases.
        R   s   avatars/test.jpgi   N(   R	   R!   R+   R   Rf   Ri   R.   Rl   (   R%   RM   R   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyRo   9  s    (   R)   R*   Rw   RQ   Rn   Ro   (    (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyRx   )  s   		(   t   django.core.filesR    RX   t   django.db.modelsR   t   django.db.models.signalsR   R   t   easy_thumbnailsR   R   R   t   easy_thumbnails.aliasR   t   easy_thumbnails.confR   t   easy_thumbnails.testsR	   R
   R   t   ImportErrorR0   RD   R   R,   RF   RO   Rj   Rx   (    (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_aliases.pyt   <module>   s"   "
+q&G