
    3 dK                     ,   d dl mZ d dlmZmZmZmZ  G d d          Z G d dej                  Z	d Z
edk    rXd d	lmZ  ej        d  e
            d
          Z ede                                j         d            ej                     dS dS )    )urljoin)resourceserverstaticutilc                   .     e Zd Z fdZ fdZd Z xZS )SiteTestc                     ddl m} t                                                        |j        dt                      d          | _        d| j                                        j         d| _	        d S )Nr   reactor	127.0.0.1	interfacehttp://localhost:/)
twisted.internetr   supersetUp	listenTCP	test_sitesitegetHostportbaseurl)selfr   	__class__s     5lib/python3.11/site-packages/scrapy/utils/testsite.pyr   zSiteTest.setUp   sl    ,,,,,,%G%aLLL	F49+<+<+>+>+CFFF    c                 z    t                                                       | j                                         d S N)r   tearDownr   stopListening)r   r   s    r   r!   zSiteTest.tearDown   s3    	!!!!!r   c                 ,    t          | j        |          S r    )r   r   )r   paths     r   urlzSiteTest.url   s    t|T***r   )__name__
__module____qualname__r   r!   r%   __classcell__)r   s   @r   r	   r	      se        G G G G G" " " " "+ + + + + + +r   r	   c                       e Zd Zd ZdS )NoMetaRefreshRedirectc                 n    t           j                            | |          }|                    dd          S )Ns   http-equiv="refresh"s!   http-no-equiv="do-not-refresh-me")r   Redirectrenderreplace)r   requestcontents      r   r.   zNoMetaRefreshRedirect.render   s5    -&&tW55#%I
 
 	
r   N)r&   r'   r(   r.    r   r   r+   r+      s#        
 
 
 
 
r   r+   c                  .   t          j                    } |                     dt          j        dd                     |                     dt          j        dd                     |                     dt          j        dd	                     |                     d
t          j        d                     |                     dt          d                     |                     dt          j        dd                     t          j	        |           S )Ns   texts   Worksz
text/plains   htmls=   <body><p class='one'>Works</p><p class='two'>World</p></body>z	text/htmls   enc-gb18030s   <p>gb18030 encoding</p>ztext/html; charset=gb18030s   redirects   /redirecteds   redirect-no-meta-refreshs
   redirecteds   Redirected here)
r   ResourceputChildr   Datar   r-   r+   r   Site)rs    r   r   r      s    AJJwHl;;<<<JJL	
 	
   JJ.0LMM   JJ{DM.99:::JJ*,A.,Q,QRRRJJ}fk*<lKKLLL;q>>r   __main__r   r   r   r   r   N)urllib.parser   twisted.webr   r   r   r   r	   r-   r+   r   r&   r   r   r   r   printr   runr2   r   r   <module>r>      s                6 6 6 6 6 6 6 6 6 6 6 6+ + + + + + + + 
 
 
 
 
DM 
 
 
  ( z ((((((7Q		{CCCD	E
4dllnn1
4
4
4555GKMMMMM r   