
    hN                     f    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mZ  G d de      Zy	)
    )TestCase)override)_url_qs)override_parler_settings)$get_parler_languages_from_django_cms)get_languageget_language_titlec                   Z    e Zd Zd Zd Z ed      d        Z ed      d        Zd Zy	)
UtilTestCasec           	         ddgdddddddgdddddddgdddddgdgdddd	d
}ddgdddddgdddddgdddgdgdddd
}t        |      }|j                         D ]  \  }}| j                  ||   ||           y )NenesTEnglish)code	fallbackshide_untranslatednamepublicredirect_on_fallbackSpanishfrFrench)r   r   r   r   )   default)r   r   r   r   )r   r   r   )r   itemsassertEqual)selfcmsparlercomputedblockblock_configs         G/home/dcms/DCMS/lib/python3.12/site-packages/parler/tests/test_utils.py)test_get_parler_languages_from_django_cmsz6UtilTestCase.test_get_parler_languages_from_django_cms   s    !"&)-%",0 !"&)-%",0 !"&)-$",0#8  &*(,7#
P !"&)-,0	 !"&)-,0	 !"&)-,0	,  &*(,+
< 8<#+>>#3 	=E<Xe_fUm<	=    c                     d}| j                  t        |      d       d}	 | j                  t        |      |       y# t        $ r | j                  d       Y yw xY w)z(Test get_language_title utility functionr   r   xxz9get_language_title() raises KeyError for missing languageN)r   r	   KeyErrorfail)r   language_codes     r#   test_get_language_titlez$UtilTestCase.test_get_language_titleS   s^    +M:IF
 	S/>N 	SIIQR	Ss   = AAF)PARLER_DEFAULT_ACTIVATEc                 x    t        d      5  | j                  t               d       ddd       y# 1 sw Y   yxY w)z-Test get_language patch function, no fallbackN)r   r   r   )r   s    r#   test_get_language_no_fallbackz*UtilTestCase.test_get_language_no_fallbacka   s2     d^ 	3\^T2	3 	3 	3s   09Tc                     ddl m} t        d      5  | j                  t	               |j
                         ddd       y# 1 sw Y   yxY w)z/Test get_language patch function, with fallbackr   )appsettingsN)r   r0   r   r   r   PARLER_DEFAULT_LANGUAGE_CODE)r   r0   s     r#   test_get_language_with_fallbackz,UtilTestCase.test_get_language_with_fallbackh   s?     	'd^ 	W\^[-U-UV	W 	W 	Ws   %A  A	c                 `    ddg}|D ]%  }t        |d   |d         }| j                  |       ' y )N)http://www.example.com/search/u   q=è453è5p4j5uih758)r4   s   next=/fr/propriété/r   r   )r   
assertTrue)r   matchesmatchmergeds       r#   test_url_qszUtilTestCase.test_url_qsp   s@    FT
  	$EU1XuQx0FOOF#	$r%   N)	__name__
__module____qualname__r$   r+   r   r.   r2   r9    r%   r#   r   r   
   sH    F=PS e<3 =3 d;W <W$r%   r   N)django.testr   django.utils.translationr   parler.templatetags.parler_tagsr   parler.tests.utilsr   parler.utilsr   parler.utils.i18nr   r	   r   r=   r%   r#   <module>rD      s%      - 3 7 = >m$8 m$r%   