ó
¹9^c           @   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
 Z d  d l m Z m Z e d    Z e d	 d g  d e f d     Y Z d S(   i’’’’(   t   contextmanager(   t   forms(   t   TestCase(   t   override_settings(   t   overrideN(   t   get_language_configt   TinyMCEc         c   s   i  } xC |  j    D]5 \ } } t t j |  | | <t t j | |  q Wd  Vx+ |  j   D] } t t j | | |  q^ Wd  S(   N(   t   itemst   getattrt   tinymcet   settingst   setattrt   keys(   t   settings_dictt   saved_valuest   settingt   value(    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyt   override_tinymce_settings   s    t	   LANGUAGESt   ent   Englisht   TestWidgetsc           B   sh   e  Z d    Z e d d g  d    Z d   Z d   Z d   Z e d e  d    Z	 d	   Z
 RS(
   c         C   sk   t    } i d d 6d d 6d d 6d d 6} |  j | |  t d    t    } |  j | |  Wd  QXd  S(	   Ns   +English=ent   spellchecker_languagest   ltrt   directionalityR   t   languages   /tinymce/spellchecker/t   spellchecker_rpc_url(   R   t   assertEqualR   t   None(   t   selft   configt	   config_ok(    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyt   test_default_config   s    	
	t   LANGUAGES_BIDIR   c         C   s?   t    } i d d 6d d 6d d 6d d 6} |  j | |  d  S(	   Ns   +English=enR   t   rtlR   R   R   s   /tinymce/spellchecker/R   (   R   R   (   R   R   R   (    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyt   test_default_config_rtl*   s    	
c         C   sB   t  d  } i d d 6d d 6d d 6d d	 6} |  j | |  d  S(
   Ns   ru-rus
   English=enR   R   R   R   R   s   /tinymce/spellchecker/R   (   R   R   (   R   R   R   (    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyt   test_content_language5   s    
c         C   s¢   t    } | j d d d i d d 6} |  j d |  |  j d |  |  j d |  |  j d |  | j d d d i d d 6d	 d
 6} |  j d |  d  S(   Nt   foobars   lorem ipsumt   attrst	   id_foobart   ids   id="id_foobar"s   name="foobar"s   class="tinymce"t   foot   classs   class="foo tinymce"(   R   t   rendert   assertIn(   R   t   widgett   html(    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyt   test_tinymce_widget?   s    	 c         C   s`   t  d i d d 6d d 6 } | j d d d i d d	 6} |  j d
 |  |  j d |  d  S(   NR&   iP   t   colsi   t   rowsR%   s   lorem ipsumR'   R(   s	   cols="80"s	   rows="30"(   R   R+   R,   (   R   R-   R.   (    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyt   test_tinymce_widget_sizeM   s
    t   TINYMCE_INCLUDE_JQUERYc         C   s   t    } |  j | j j   d d d g  |  j t | j j    g   t i t d 6t d 6 - t    } |  j | j j   d d g  Wd  QXd  S(   NsC   <script type="text/javascript" src="/tinymce/compressor/"></script>sY   <script type="text/javascript" src="/static/django_tinymce/jquery-1.9.1.min.js"></script>sU   <script type="text/javascript" src="/static/django_tinymce/init_tinymce.js"></script>t   USE_COMPRESSORt   INCLUDE_JQUERYsK   <script type="text/javascript" src="/static/tiny_mce/tiny_mce.js"></script>(   R   R   t   mediat	   render_jst   listt
   render_cssR   t   False(   R   R-   (    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyt   test_tinymce_widget_mediaU   s    	
	c         C   s<   d t  j f d     Y} t |    } |  j d |  d S(   sĪ   
        The TinyMCE widget should never output the required HTML attribute, even
        if the form field is required, as the client-side browser validation
        might prevent form submission.
        t   TinyFormc           B   s#   e  Z e j d  e d e    Z RS(   t   requiredR-   (   t   __name__t
   __module__R   t	   CharFieldt   TrueR   t   field(    (    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyR<   q   s   R=   N(   R   t   Formt   strt   assertNotIn(   R   R<   t   rendered(    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyt   test_tinymce_widget_requiredk   s    (   R>   R?   R    R   R#   R$   R/   R2   R:   R;   RG   (    (    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyR      s   		
		(   R   R   (   t
   contextlibR    t   djangoR   t   django.testR   t   django.test.utilsR   t   django.utils.translationR   t   tinymce.settingsR	   t   tinymce.widgetsR   R   R   R   (    (    (    s<   /tmp/pip-unpacked-wheel-51oq52/tinymce/tests/test_widgets.pyt   <module>   s   