
     hl                     V    d Z ddlZddlmZ ddlZddlZ G d dej                        Zy)z*Testcases for cssutils.css.CSSFontFaceRule    N   )test_cssrulec                   N     e Zd Zd Z fdZd Zd Zd Zd Zd Z	d Z
d	 Z xZS )
TestCSSFontFaceRulec                     t         j                  j                         | _        t         j                  j                  d      | _        t         j                  j                  j
                  | _        d| _        y )NT)readonlyFONT_FACE_RULE)cssutilscssCSSFontFaceRulerrROr	   r_typer_typeString)selfs    c/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/cssutils/tests/test_cssfontfacerule.py_setup_rulezTestCSSFontFaceRule._setup_rule   sN    --/<<///>ll22AA,    c                    t         |           t        j                  j	                         }t        |j                  t        j                  j                        sJ ||j                  j                  k(  sJ d|j                  k(  sJ t        j                  t        j                  j                        5  | j                  j!                  d       ddd       d } |t        j                  j	                  t        j                  j                  d                   t        j                  j	                         }d|_	         ||       t        j                  j	                         }|j                  j#                  dd	        ||       t        j                  j	                         }d
|j                  d<    ||       t        j                  j	                         }d|j                  _         ||       y# 1 sw Y   ,xY w)zCSSFontFaceRule.__init__() xNc                     | | j                   j                  k(  sJ | j                   D ]  }| j                   |j                  k(  rJ  y )N)style
parentRuleparent)ffps     r   	checkrefsz0TestCSSFontFaceRule.test_init.<locals>.checkrefs!   s>    ,,,,,XXxx188+++ r   zfont-family: xr   z@font-face { font-family: x }font-familyyza)super	test_initr
   r   r   
isinstancer   CSSStyleDeclarationr   cssTextpytestraisesxmldomInvalidModificationErrr   _setAtkeywordsetProperty
fontFamily)r   r   r   	__class__s      r   r%   zTestCSSFontFaceRule.test_init   st   LL((*!''8<<#C#CDDDAGG&&&&& QYY ]]37799:FF  % ;	,
 	LL((ll667GH ) 	
 LL((*3	!LL((*	M3/!LL((*!$!LL((* !9 ;:s   7G==Hc                    ddddddd}| j                  |       | j                  |       t        j                  j                  t        j                  j                  d}| j                  |       |j                  t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  d       | j                  |       y)zCSSFontFaceRule.cssTextN%@font-face {
    font-family: x
    }z1@font-face /*1*/ /*2*/ {
    font-family: x
    })a  @font-face {
    font-family: x;
    src: url(../fonts/LateefRegAAT.ttf) format("truetype-aat"), url(../fonts/LateefRegOT.ttf) format("opentype");
    font-style: italic;
    font-weight: 500;
    font-stretch: condensed;
    unicode-range: u+1-ff, u+111
    }z@font-face{font-family: x;}z!@font-face  {  font-family: x;  }z@f\ont\-face{font-family : x;}z%@font-face/*1*//*2*/{font-family: x;}z&@font-face
	 {
	 font-family:x;
	 })z@font-face;z@font-face })z@font-face {z@font-face {}1z@font-face {}/**/z@font-face {} )
do_equal_r
do_equal_pr+   r,   	SyntaxErr
do_raise_pupdate
do_raise_rr   testss     r   test_cssTextz TestCSSFontFaceRule.test_cssText<   s     +T1Z0Y5j?h
" 	 77,,GG--
 	GG--!gg//!$!2!2!gg//
 	 	r   c                    t         j                  j                         }|j                  }||j                  k(  sJ d|j
                  k(  sJ d|_        |j                  |k7  sJ ||j                  j                  k(  sJ |j
                  dk(  sJ |j                  j
                  dk(  sJ |j
                  dk(  sJ |j                  }	 d|_        |j                  |k(  sJ ||j                  k(  sJ |j
                  dk(  sJ |j
                  dk(  sJ |j                  j
                  dk(  sJ d|j                  _        |j                  |k(  sJ ||j                  k(  sJ |j
                  dk(  sJ |j
                  dk(  sJ |j                  j
                  dk(  sJ t         j                  j                  d	      }||_        |j                  |k(  sJ ||j                  k(  sJ |j
                  d
k(  sJ |j
                  d	k(  sJ |j                  j
                  d	k(  sJ |j
                  dk(  sJ d|_        |j                  |k(  sJ |j
                  dk(  sJ |j                  j
                  dk(  sJ |j
                  dk(  sJ 	 d|_        |j                  |k(  sJ |j                  j
                  dk(  sJ |j
                  dk(  sJ d|_        |j                  |k7  sJ |j
                  dk(  sJ |j                  j
                  dk(  sJ |j
                  dk(  sJ y# t        j                  j                  $ r}Y d}~xd}~ww xY w# t        j                  j                  $ r
}Y d}~d}~ww xY w)z&CSSFontFaceRule.style (and references)r   z@font-face { font-family: x1 }z&@font-face {
    font-family: x1
    }zfont-family: x1z@font-face { $ }Nzfont-family: x2z&@font-face {
    font-family: x2
    }zfont-family: y1z&@font-face {
    font-family: y1
    }zfont-family: y2z&@font-face {
    font-family: y2
    }$zfont-family: zz%@font-face {
    font-family: z
    })
r
   r   r   r   r   r(   r+   r,   r6   r'   )r   r   s1s2esns         r   
test_stylezTestCSSFontFaceRule.test_style`   sS   LL((*WWBMM!!!RZZ 5	ww"}}AGG&&&&&yyFFFFww"3333zzRWW	*AI ww"}}BMM!!!yyFFFFzz....ww"3333 ,ww"}}BMM!!!yyFFFFzz....ww"3333 \\--.?@ww"}}BMM!!!yyFFFFzz....ww"3333zz.... '
ww"}}yyFFFFww"3333zz....	BJ ww"}}ww"3333yyFFFF #ww"}}yyEEEEww"2222zz...._ ww   		H ww   		s$   
L& M &M	MM83M8c                     t         j                  j                         }d|j                  _        d}||j                  k(  sJ dg di}t        |j                               D ]  \  }}|D ]  \  }}t         j                  j                         }||j                  |<   |j                  j                  |      j                  |j                  k(  sJ |j                  j                  |      j                  |k(  rJ   y)z CSSFontFaceRule.style propertiesz
        src: url(x)
        z"@font-face {
    src: url(x)
    }r    ))zx, yF)z"x", yF)zx, "y"FN)
r
   r   r   r   r(   listitemsgetPropertyr   valid)r   r   expr;   ntvrH   s           r   test_propertiesz#TestCSSFontFaceRule.test_properties   s    LL((*	 aii  	
 'DAq5LL002
ww**1-44???ww**1-33u<<<	  (r   c                 2    dddd}| j                  |       y)zCSSFontFaceRule (incomplete)r   r3   )z@font-face{z@font-face { z@font-face { font-family: xN)r5   r:   s     r   test_incompletez#TestCSSFontFaceRule.test_incomplete   s"     +T

 	r   c                     | j                  d       dt        j                  j                  i}| j	                  |       y)z.CSSFontFaceRule.cssText InvalidModificationErrz
@font-facez@font-fac {}N)_test_InvalidModificationErrr+   r,   r-   r9   r:   s     r   test_InvalidModificationErrz/TestCSSFontFaceRule.test_InvalidModificationErr   s4    )),7CGG::
 	r   c                 "   t         j                  j                         }d|j                  k(  sJ d}||dz   fdd|dz   |dz   fd}t	        |j                               D ].  \  }}|D ]$  }||j                  _        ||j                  k(  r$J  0 y	)
zCSSFontFaceRule.validFzfont-family: x; src: local(x);z%font-style: italic; font-weight: boldr   z!font-family: x, y; src: local(x);zfont-style: inheritz
invalid: 1)TFN)r
   r   r   rH   rE   rF   r   r(   )r   r   Nr;   rH   testlisttests          r   
test_validzTestCSSFontFaceRule.test_valid   s    LL((*, ;;
 3))L 	
  $EKKM2OE8 "&''' !  3r   c                     d}t         j                  j                  |      }|t        |      v sJ t	        t        |            }t        ||j                        sJ ||j                  j                  k(  sJ y)z&CSSFontFaceRule.__repr__(), .__str__()zsrc: url(x)r   N)
r
   r   r   strevalreprr&   r1   r   r(   )r   r   sr@   s       r   test_reprANDstrz#TestCSSFontFaceRule.test_reprANDstr   sg    LL((u(5A$q']"akk***(((((r   )__name__
__module____qualname__r   r%   r<   rC   rM   rO   rR   rW   r]   __classcell__)r1   s   @r   r   r      s4    -(T"HB/H=8(,	)r   r   )	__doc__xml.domr+   r   r   r
   r)   TestCSSRuler    r   r   <module>rf      s*    0    e),22 e)r   