ó
¶qëcc           @   s}   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d  d l	 m
 Z
 d  d l m Z d e j f d „  ƒ  YZ d	 S(
   iÿÿÿÿ(   t   skipIf(   t   VERSION(   t   SimpleUploadedFile(   t   ClearableFileInput(   t   widgets(   t   utilst   ImageClearableFileInputc           B   sw   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e	 e
 d k  d	 ƒ d
 „  ƒ Z d „  Z d „  Z RS(   c         C   s&   t  t |  ƒ j ƒ  t j ƒ  |  _ d  S(   N(   t   superR   t   setUpt   testt   TemporaryStoraget   storage(   t   self(    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyR      s    c         C   s$   |  j  j ƒ  t t |  ƒ j ƒ  d  S(   N(   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_widgets.pyR      s    c         C   s*   t  j ƒ  } |  j | j i d d 6ƒ d S(   sT   
        If thumbnail options are not passed, default options will be used.
        iP   t   sizeN(   iP   iP   (   R   R   t   assertEqualt   thumbnail_options(   R   t   widget(    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyt   test_options_default   s    c         C   sU   i d d 6t  d 6} t j d | ƒ } t | d <|  j | j i d d 6t  d 6ƒ d S(	   s   
        A dictionary can be passed as the thumbnail options. The dictionary is
        copied so it isn't just a mutable reference of the original.
        i,  id   R   t   cropR   N(   i,  id   (   i,  id   (   t   TrueR   R   t   FalseR   R   (   R   t   optionsR   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyt   test_options_custom   s
    
c         C   sŠ   |  j  |  j d ƒ } t j ƒ  } |  j j | ƒ 1 } |  j | _ |  j | _ | j d | ƒ } Wd QX|  j | | ƒ |  j d | ƒ d S(   sX   
        The output contains a link to both the source image and the thumbnail.
        s   test.jpgt   photoNs   .80x80_(   t   create_imageR   R   R   t   opent   thumbnail_storaget   rendert   assertIn(   R   t   source_filenameR   t   source_filet   html(    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyt   test_render)   s    c         C   s«   |  j  |  j d ƒ } i d d 6d d 6t d 6} t j d | ƒ } |  j j | ƒ 1 } |  j | _ |  j | _ | j d	 | ƒ } Wd
 QX|  j | | ƒ |  j d | ƒ d
 S(   sV   
        The thumbnail is generated using the options provided to the widget.
        s   test.jpgid   iô  R   iZ   t   qualityR   R   R   Ns   .100x500_q90_crop.jpg(   id   iô  (	   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R    R!   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyt    test_render_custom_thumb_options8   s    c         C   s£   |  j  |  j d ƒ } t j ƒ  } d | _ |  j j | ƒ 1 } |  j | _ |  j | _ | j d | ƒ } Wd QX|  j | | ƒ |  j d | ƒ |  j d | ƒ d S(   s…   
        The template used to render the thumbnail and the standard
        ``ClearableFileInput`` output can be customized.
        s   test.jpgu<   %(template)s<br /><a href="%(source_url)s">%(thumb)s</a> FOOR   Ns   .80x80_t   FOO(	   R   R   R   R   t   template_with_thumbnailR   R   R   R   (   R   R   R   R    R!   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyt   test_custom_templateH   s    	i   i   s.   Custom widget renderer works for Django >=1.11c      	      sÏ   d d l  m ‰  |  j |  j d ƒ } t j ƒ  } d ˆ  f ‡  f d †  ƒ  Y} |  j j | ƒ : } |  j | _ |  j | _ | j d | d | ƒ  ƒ} Wd QX|  j	 | | ƒ |  j	 d	 | ƒ |  j	 d
 | ƒ d S(   s›   
        The form renderer used to render the thumbnail and the standard
        ``ClearableFileInput`` output can be customized since Django 1.11
        iÿÿÿÿ(   t   DjangoTemplatess   test.jpgt   CustomRendererc              s   e  Z d ‡  f d  † Z RS(   c            s&   t  ˆ  |  ƒ j | | | ƒ } | d S(   Ns    FOOBAR(   R   R   (   R   t   template_namet   contextt   requestt   output(   R(   (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyR   h   s    N(   t   __name__t
   __module__t   NoneR   (    (   R(   (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyR)   g   s   R   t   rendererNs   .80x80_t   FOOBAR(
   t   django.forms.renderersR(   R   R   R   R   R   R   R   R   (   R   R   R   R)   R    R!   (    (   R(   s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyt   test_custom_renderer]   s    !c         C   sM   t  j ƒ  } t ƒ  } | j d d ƒ } | j d d ƒ } |  j | | ƒ d S(   s8   
        If value not passed, use super widget.
        R   N(   R   R   R   R   R0   R   (   R   R   t   base_widgetR!   t	   base_html(    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyt   test_render_without_valueu   s
    	c         C   sŠ   t  j ƒ  } t ƒ  } d } |  j d | ƒ } t | | j ƒ  ƒ } | j d | ƒ } | j d | ƒ } |  j | | ƒ |  j	 | | ƒ d S(   s  
        The widget treats UploadedFile as no input.

        Rationale:
        When widget is used in ModelForm and the form (submitted with upload)
        is not valid, widget should discard the value (just like standard
        Django ClearableFileInput does).
        s   test.jpgR   N(
   R   R   R   R   R0   R   t   getvalueR   R   t   assertNotIn(   R   R   R5   t	   file_namet   imaget   upload_fileR!   R6   (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyt   test_render_uploaded   s    		(   i   i   (   R.   R/   R   R   R   R   R"   R$   R'   R    t   DJANGO_VERSIONR4   R7   R=   (    (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyR      s   								
N(   t   unittest.caseR    t   djangoR   R>   t   django.core.files.uploadedfileR   t   django.forms.widgetsR   t   easy_thumbnailsR   t   easy_thumbnails.testsR   R	   t   BaseTestR   (    (    (    s€   /Users/danaskwith/.local/share/virtualenvs/svtgbi-git-reqaUha4/lib/python2.7/site-packages/easy_thumbnails/tests/test_widgets.pyt   <module>   s   