
    ]j                     L    d dl Z d dlZd dlZd dlT  G d dej                  ZdS )    N)*c                   D    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
S )TestElementTextc                 d   t          j        d          }t                              |          }t	          |                                          }|                     |d         j                   |                     |d         j                   |                     |d         j                   d S )Na5  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg>
  <g id="layer1">
    <text
       style="font-size:18px;line-height:1.25;font-family:sans-serif;stroke-width:0.264583"
       id="textobject"><tspan
         id="tspanobject"
         x="0"
         y="0">Test</tspan></text>
  </g>
</svg>
                 )ioStringIOSVGparselistelementsassertIsNotNoneid)selfqms      I/home/agentuser/manim-venv/lib/python3.11/site-packages/test/test_text.pytest_issue_157zTestElementText.test_issue_157	   s    K
 
 IIaLLQqTW%%%QqTW%%%QqTW%%%%%    c                    d}t          j        d| d          }t                              |          }t	          |                                          d         }|                     |j        d           |                     |j        d           |                     |j	        d           |                     |j
        d           |                     |j        t          d                                                     |                     |j        t          d                                                     |                     |j        d           |                     |j        dg           d S )	Nz12pt/14pt sans-serifl<?xml version="1.0" encoding="UTF-8" standalone="no"?>
        <svg>
            <text
               font="I"
               id="textobject">Shorthand</text>
        </svg>
        r   normal12pt14pt
sans-serif)r
   r   r   r   r   r   assertEqual
font_stylefont_variantfont_weightfont_stretch	font_sizeLengthvalueline_heightfont_family	font_listr   fontr   r   text_objects        r   test_shorthand_fontproperty_1z-TestElementText.test_shorthand_fontproperty_1   sP   %K   
 
 IIaLL1::<<((+/:::18<<<0(;;;18<<<.v0D0D0F0FGGG0&..2F2F2H2HIII0,???.?????r   c                 6   d}t          j        d| d          }t                              |          }t	          |                                          d         }|                     |j        d           |                     |j        d           |                     |j	        d           |                     |j
        d           |                     |j        d           |                     |j        d           |                     |j        d           d S )	Nz80% sans-serifr   r   r   r   z80%      0@r   r
   r   r   r   r   r   r   r    r!   r"   r#   r$   r'   r(   r*   s        r   test_shorthand_fontproperty_2z-TestElementText.test_shorthand_fontproperty_25   s   K   
 
 IIaLL1::<<((+/:::18<<<0(;;;18<<<.6660$7770,?????r   c                    d}t          j        d|                    dd           d          }t                              |          }t          |                                          d         }|                     |j        d           |                     |j	        d           |                     |j
        d           |                     |j        d           |                     |j        d           |                     |j        d	           |                     |j        d
           |                     |j        ddg           d S )Nz,x-large/110% "new century schoolbook", serifr   "&quot;r   r   r   zx-largez110%z"new century schoolbook", serifznew century schoolbookserif)r
   r   replacer   r   r   r   r   r    r!   r"   r#   r$   r'   r(   r)   r*   s        r   test_shorthand_fontproperty_3z-TestElementText.test_shorthand_fontproperty_3K   s?   =K ll311  
 
 IIaLL1::<<((+/:::18<<<0(;;;18<<<.	:::0&99902STTT.1I70STTTTTr   c                 p   d}t          j        d| d          }t                              |          }t	          |                                          d         }|                     |j        d           |                     |j        d           |                     |j	        d           |                     |j
        d           |                     |j        d           |                     |j        d	           |                     |j        d
           |                     |j        ddg           d S )Nz!bold italic large Palatino, serifr   r   r   italicr   boldlarger/   zPalatino, serifPalatinor5   )r
   r   r   r   r   r   r   r    r!   r"   r#   r$   r'   r(   r)   r*   s        r   test_shorthand_fontproperty_4z-TestElementText.test_shorthand_fontproperty_4b   s0   2K   
 
 IIaLL1::<<((+/:::18<<<0&99918<<<.8880$77702CDDD.W0EFFFFFr   c                 6   d}t          j        d| d          }t                              |          }t	          |                                          d         }|                     |j        d           |                     |j        d           |                     |j	        d           |                     |j
        d           |                     |j        d           |                     |j        d           |                     |j        d           d S )	Nz#normal small-caps 120%/120% fantasyr   r   r   r   z
small-capsz120%fantasyr0   r*   s        r   test_shorthand_fontproperty_5z-TestElementText.test_shorthand_fontproperty_5z   s   4K   
 
 IIaLL1::<<((+/:::1<@@@0(;;;18<<<.7770&9990)<<<<<r   c                    d}t          j        d|                    dd           d          }t                              |          }t          |                                          d         }|                     |j        d           |                     |j	        d           |                     |j
        d           |                     |j        d	           |                     |j        t          d
                                                     |                     |j        t          d
                                                     |                     |j        d           |                     |j        ddg           d S )Nz/condensed oblique 12pt "Helvetica Neue", serif;r   r3   r4   r   r   obliquer   	condensedr   z"Helvetica Neue", serifzHelvetica Neuer5   r
   r   r6   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   s        r   test_shorthand_fontproperty_6z-TestElementText.test_shorthand_fontproperty_6   sc   @K ll311  
 
 IIaLL1::<<((+/;;;18<<<0(;;;1;???.v0D0D0F0FGGG0&..2F2F2H2HIII02KLLL.1A70KLLLLLr   c                    d}t          j        d|                    dd           d          }t                              |          }t          |                                          d         }|                     |j        d           |                     |j	        d           |                     |j
        d           |                     |j        d	           |                     |j        t          d
                                                     |                     |j        t          d
                                                     |                     |j        d           |                     |j        g d           d S )Nz5condensed oblique 12pt "Helvetica", 'Veranda', serif;r   r3   r4   r   r   rB   r   rC   r   z"Helvetica", 'Veranda', serif)	HelveticaVerandar5   rD   r*   s        r   test_shorthand_fontproperty_7z-TestElementText.test_shorthand_fontproperty_7   sd   JK ll311  
 
 IIaLL1::<<((+/;;;18<<<0(;;;1;???.v0D0D0F0FGGG0&..2F2F2H2HIII02UVVV.0Q0Q0QRRRRRr   c                    d}t          j        d| d          }t          j                    }t                              |          }t          j                    }|                     t          j                    |z
  dk                dS )zg
        reDoS check. If suffering from Issue 154 this takes about 20 seconds. Normally 0.01s.
        zTnormal normal normal normal normal normal normal normal normal normal normal normal zT<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg>
    <text
       font="z5"
       id="textobject">reDoS</text>
</svg>
        i  N)r
   r   timer   r   
assertTrue)r   r+   r   tr   t2s         r   test_issue_154zTestElementText.test_issue_154   s     K   
 
 IKKIIaLLY[[qD011111r   N)__name__
__module____qualname__r   r-   r1   r7   r=   r@   rE   rI   rO    r   r   r   r      s        & & &*@ @ @.@ @ @,U U U.G G G0= = =,M M M.S S S02 2 2 2 2r   r   )r
   rK   unittestsvgelementsTestCaser   rS   r   r   <module>rW      sm    				      H2 H2 H2 H2 H2h' H2 H2 H2 H2 H2r   