§
    Étºf@  ã                   ó’   — d 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mZ ddlmZ ddlmZ d	ed
efd„Z G d„ de¦  «        ZdS )z
Test L{twisted.web.pages}
é    )Úcast)ÚSynchronousTestCase)ÚHeaders)ÚIRequest)Ú	errorPageÚ	forbiddenÚnotFound)Ú	IResource)ÚDummyRequestÚresourceÚreturnc                 óv   — t          dg¦  «        }|                      t          t          |¦  «        ¦  «         |S )z¬
    Render a response using the given resource.

    @param resource: The resource to use to handle the request.

    @returns: The request that the resource handled,
    ó    )r   Úrenderr   r   )r   Úrequests     úZ/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/web/test/test_pages.pyÚ_renderr      s6   € õ ˜C˜5Ñ!Ô!€Gð ‡O‚O•D� 7Ñ+Ô+Ñ,Ô,Ð,Ø€Nr   c                   óN   — e Zd ZdZdZdedededdfd„Zdd„Z	dd	„Z
dd
„Zdd„ZdS )ÚErrorPageTestszu
    Test L{twisted.web.pages._ErrorPage} and its public aliases L{errorPage},
    L{notFound} and L{forbidden}.
    Nr   ÚcodeÚbodyr   c                 ó:  — |                       |j        |¦  «         |                       |j        t          ddgi¦  «        ¦  «         |                       d                     |j        ¦  «                             d¦  «        |                     d¦  «        ¦  «         d S )Ns   content-types   text/html; charset=utf-8r   zlatin-1)ÚassertEqualÚresponseCodeÚresponseHeadersr   ÚjoinÚwrittenÚdecode)Úselfr   r   r   s       r   ÚassertResponsezErrorPageTests.assertResponse*   s¡   € Ø×Ò˜Ô-¨tÑ4Ô4Ð4Ø×ÒØÔ#Ý�_Ð'BÐ&CÐDÑEÔEñ	
ô 	
ð 	
ð 	×Òð �HŠH�W”_Ñ%Ô%×,Ò,¨YÑ7Ô7Ø�KŠK˜	Ñ"Ô"ñ		
ô 	
ð 	
ð 	
ð 	
r   c           	      ól   — |                       t          t          ddd¦  «        ¦  «        dd¦  «         dS )zS
        The I{brief} and I{detail} parameters are HTML-escaped on render.
        i�  zA & Bz<script>alert('oops!')sŠ   <!DOCTYPE html>
<html><head><title>400 - A &amp; B</title></head><body><h1>A &amp; B</h1><p>&lt;script&gt;alert('oops!')</p></body></html>N)r    r   r   ©r   s    r   Útest_escapesHTMLzErrorPageTests.test_escapesHTML7   sF   € ð 	×ÒÝ•I˜c 7Ð,DÑEÔEÑFÔFØð&ñ			
ô 		
ð 		
ð 		
ð 		
r   c                 ó¾   — t          ddd¦  «        }|                      |                     dt          t          t          dg¦  «        ¦  «        ¦  «        |¦  «         dS )z„
        The C{getChild} method of the resource returned by L{errorPage} returns
        the L{_ErrorPage} it is called on.
        é”  ÚfooÚbars   namer   N)r   ÚassertIsÚgetChildr   r   r   )r   Úpages     r   Útest_getChildzErrorPageTests.test_getChildF   s]   € õ
 ˜˜e UÑ+Ô+ˆØ�ŠØ�MŠM˜'¥4­µ,À¸uÑ2EÔ2EÑ#FÔ#FÑGÔGØñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óf   — |                       t          t          ¦   «         ¦  «        dd¦  «         dS )zq
        The default arguments to L{twisted.web.pages.notFound} produce
        a reasonable error page.
        r%   s¡   <!DOCTYPE html>
<html><head><title>404 - No Such Resource</title></head><body><h1>No Such Resource</h1><p>Sorry. No luck finding that resource.</p></body></html>N)r    r   r	   r"   s    r   Útest_notFoundDefaultsz$ErrorPageTests.test_notFoundDefaultsQ   s=   € ð
 	×ÒÝ•H‘J”JÑÔØð"ñ	
	
ô 
	
ð 
	
ð 
	
ð 
	
r   c                 óf   — |                       t          t          ¦   «         ¦  «        dd¦  «         dS )zr
        The default arguments to L{twisted.web.pages.forbidden} produce
        a reasonable error page.
        i“  s�   <!DOCTYPE html>
<html><head><title>403 - Forbidden Resource</title></head><body><h1>Forbidden Resource</h1><p>Sorry, resource is forbidden.</p></body></html>N)r    r   r   r"   s    r   Útest_forbiddenDefaultsz%ErrorPageTests.test_forbiddenDefaultsb   s=   € ð
 	×ÒÝ•I‘K”KÑ Ô Øð"ñ	
	
ô 
	
ð 
	
ð 
	
ð 
	
r   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚmaxDiffr   ÚintÚbytesr    r#   r+   r-   r/   © r   r   r   r   "   s¥   € € € € € ðð ð
 €Gð
 lð 
¸#ð 
ÀUð 
Ètð 
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð	
ð 	
ð 	
ð 	
ð
ð 
ð 
ð 
ð"
ð 
ð 
ð 
ð 
ð 
r   r   N)r3   Útypingr   Útwisted.trial.unittestr   Útwisted.web.http_headersr   Útwisted.web.iwebr   Útwisted.web.pagesr   r   r	   Útwisted.web.resourcer
   Útwisted.web.test.requesthelperr   r   r   r7   r   r   ú<module>r?      sü   ððð ð Ð Ð Ð Ð Ð à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø %Ð %Ð %Ð %Ð %Ð %Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø *Ð *Ð *Ð *Ð *Ð *Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7ð�ið  Lð ð ð ð ð O
ð O
ð O
ð O
ð O
Ð(ñ O
ô O
ð O
ð O
ð O
r   