
    =hh                     ~    d Z ddlZddlZddlZddlZddlZddlZ ej                  d      d        Z	 G d d      Z
y)z:Tests for parsing which does not raise Exceptions normally    NT)autousec                     | j                  t        j                  dd       | j                  t        j                  dt        j                  d             y)z4
    Replace default log and ignore its output.
    raiseExceptionsF_logzIGNORED-CSSUTILS-TESTN)setattrcssutilsloglogging	getLogger)monkeypatchs    `/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/cssutils/tests/test_errorhandler.pysave_logr      s@    
 &7?fg//0GH    c                   \    e Zd Zd Zd Zd Zej                  j                  d        Z	d Z
y)TestErrorHandlerc                    t        j                         }t        j                  |      }|j	                  t        j
                  d             t        j                  j                  |       t        j                  j                  |       |S )z:sets new handler and returns StringIO instance to getvaluez%(levelname)s    %(message)s)
ioStringIOr
   StreamHandlersetFormatter	Formatterr   r	   removeHandler
addHandler)selfshs      r   _setHandlerzTestErrorHandler._setHandler   s^    KKM!!!$	w(()GHI""1%"r   c                 N   | j                         }t        j                  j                  t        j
                         t        j                  j                  dd       |j                         dk(  sJ | j                         }t        j                  j                  t        j                         t        j                  j                  dd       |j                         dk(  sJ | j                         }t        j                  j                  t        j                         t        j                  j                  dd       |j                         dk(  sJ | j                         }t        j                  j                  t        j                         t        j                  j                  dd       |j                         dk(  sJ | j                         }t        j                  j                  t        j                         t        j                  j                  dd       |j                         dk(  sJ | j                         }t        j                  j                  t        j                          t        j                  j#                  dd       |j                         dk(  sJ | j                         }t        j                  j                  t        j                          t        j                  j                  dd       |j                         d	k(  sJ y
)zcssutils.log.*msgT)
neverraisezDEBUG    msg
zINFO    msg
zWARNING    msg
zERROR    msg
zCRITICAL    msg
 N)r   r   r	   setLevelr
   DEBUGdebuggetvalueINFOinfoWARNINGwarnERRORerrorFATALfatalCRITICALcriticalr   r   s     r   
test_callszTestErrorHandler.test_calls#   s4   gmm,5T2zz|////gll+%D1zz|...goo.%D1zz|1111gmm,5T2zz|////gmm,5T2zz|2222g../e5zz|2222g../5T2zz|r!!!r   c                    t         j                  j                  }dt         j                  _        t         j                  j	                         }	 d|_        |t         j                  _        y# t        j                  j                  $ r}}t        |      dk(  sJ |j                  dk(  sJ |j                  dk(  sJ t        j                  j                  d      r|j                  dk(  sJ |j                   dk(  sJ Y d}~d}~ww xY w)	zcssutils.log line colTz
@import x;)CSSImportRule: Unexpected ident. [1:9: x]   	   java)r3   N)r   r	   r   cssCSSStyleSheetcssTextxmldomDOMExceptionstrlinecolsysplatform
startswithr   args)r   or   es       r   test_linecolzTestErrorHandler.test_linecolH   s    LL(('+$LL&&(		P$AI ()$ ww## 	Pq6HHHH66Q;;55A::||&&v.uu KKKKvv!OOOO	Ps   A, ,D	A3DDc                    | j                         }t        j                  j                  t        j
                         t        j                  j                         t        j
                  k(  sJ t        j                  d       |j                         dk(  sJ t        j                  j                  t        j                         t        j                  d       |j                         dk(  sJ | j                         }t        j                  j                  t        j                         t        j                  d       |j                         dd dk(  sJ y)zcssutils.logza { color: 1 }r!   zNERROR    Property: Invalid value for "CSS Level 2.1" property: 1 [1:5: color]
zhttp://example.comN&   z&ERROR    Expected "text/css" mime type)r   r   r	   r"   r
   r,   getEffectiveLevelparseStringr%   r#   r*   parseUrlr0   s     r   test_handlerszTestErrorHandler.test_handlers[   s     gmm,||--/7==@@@-.zz|r!!!gmm,-. JJL ) )	
) gmm,./zz|CR $LLLLr   c                    d}d|z  }t         j                  j                  t        j                         | j                         }t        j                  |       t        |j                               dk7  sJ | j                         }t        j                  |d       |j                         dk(  sJ | j                         }t        j                  |       t        |j                               dk7  sJ | j                         }t        j                  |d       t        |j                               dk7  sJ | j                         }t        j                  |d       |j                         dk(  sJ y )Nzcolor: 1za { %s }r   F)validater!   T)
r   r	   r"   r
   r#   r   rJ   lenr%   
parseStyle)r   styletr   s       r   test_parsevalidationz%TestErrorHandler.test_parsevalidationx   s0   gmm, Q1::< A%%%Q/zz|r!!! E"1::< A%%%ED11::< A%%%EE2zz|r!!!r   N)__name__
__module____qualname__r   r1   rF   pytestmarknetworkrL   rS    r   r   r   r      s7    #"J)& [[M M8"r   r   )__doc__r   r
   r@   xml.domr:   rW   r   fixturer   r   rZ   r   r   <module>r^      sE    @ 	  
     z" z"r   