o
    h                     @   s   d dl mZ d dlmZm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 d dlmZ d dlmZ d d	lmZ G d
d deeZG dd deZG dd deZdS )    )patch)TestCaseoverride_settings)reverse_lazy)EmbedNotFoundException)Embed)MediaEmbedHandler)expand_db_html)FeatureRegistry)WagtailTestUtilsc                   @   s4   e Zd Zdd Zeddd Zeddd ZdS )	TestEditorHtmlMediaEmbedHandlerc                 C   s.   |  d}|j}t|}| |ddi d S )Nz<b data-url="test-url">foo</b>urlztest-url)get_soupbEditorHtmlMediaEmbedHandlerget_db_attributesassertEqual)selfsouptagresult r   c/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/embeds/tests/test_rich_text.pytest_get_db_attributes   s   

z6TestEditorHtmlMediaEmbedHandler.test_get_db_attributeswagtail.embeds.embeds.get_embedc                 C   sx   t dd ddddddddd	
|_td
di}| d| | d| | d| | d| | d| | d| d S )Nhttp://www.youtube.com/watch/video	test html
test titletest author nametest provider namehttp://test/thumbnail.url  
r   	max_widthtypehtmltitleauthor_nameprovider_namethumbnail_urlwidthheightr   zw<div class="embed-placeholder" contenteditable="false" data-embedtype="media" data-url="http://www.youtube.com/watch/">z<h3>test title</h3>z)<p>URL: http://www.youtube.com/watch/</p>z#<p>Provider: test provider name</p>z<p>Author: test author name</p>z6<img src="http://test/thumbnail.url" alt="test title">)r   return_valuer   expand_db_attributesassertInr   	get_embedr   r   r   r   $test_expand_db_attributes_for_editor   s2   zDTestEditorHtmlMediaEmbedHandler.test_expand_db_attributes_for_editorc                 C   $   t |_tddi}| |d d S Nr   r    )r   side_effectr   r.   r   r0   r   r   r   <test_expand_db_attributes_for_editor_catches_embed_not_found9      z\TestEditorHtmlMediaEmbedHandler.test_expand_db_attributes_for_editor_catches_embed_not_foundN)__name__
__module____qualname__r   r   r2   r7   r   r   r   r   r      s    
 r   c                   @   sV   e Zd Zeddeddd Zeddd Zeddd	 Zedd
d ZdS )TestFrontendMediaEmbedHandlerT)WAGTAILEMBEDS_RESPONSIVE_HTMLr   c                 C   sH   t dd ddddddddd	
|_td
di}| d| | d| d S Nr   r   r   r   r   r    r!   r"   r#   r   zclass="responsive-object")r   r-   FrontendMediaEmbedHandlerr.   r/   r0   r   r   r   1test_expand_db_attributes_for_frontend_responsiveE   s$   zOTestFrontendMediaEmbedHandler.test_expand_db_attributes_for_frontend_responsivec                 C   sH   t dd ddddddddd	
|_td
di}| d| | d| d S r>   )r   r-   r?   r.   r/   assertNotInr0   r   r   r   4test_expand_db_attributes_for_frontend_nonresponsive]   s$   zRTestFrontendMediaEmbedHandler.test_expand_db_attributes_for_frontend_nonresponsivec                 C   r3   r4   )r   r6   r?   r.   r   r0   r   r   r   >test_expand_db_attributes_for_frontend_catches_embed_not_foundt   r8   z\TestFrontendMediaEmbedHandler.test_expand_db_attributes_for_frontend_catches_embed_not_foundc                 C   sD   t dd ddddddddd	
|_td
}| d| |dd d  d S )Nr   r   r   r   r   r    r!   r"   r#   ze<p>1 2 <embed embedtype="media" url="https://www.youtube.com/watch?v=O7D-1RG-VRk&amp;t=25" /> 3 4</p>z0https://www.youtube.com/watch?v=O7D-1RG-VRk&t=25)r   r-   r	   r/   assert_called_withr0   r   r   r   $test_expand_html_escaping_end_to_end~   s&   zBTestFrontendMediaEmbedHandler.test_expand_html_escaping_end_to_endN)	r9   r:   r;   r   r   r@   rB   rC   rE   r   r   r   r   r<   D   s    

	r<   c                   @   s   e Zd Zdd ZdS )TestEntityFeatureChooserUrlsc                 C   sB   t  }|dd}| |jd | |jd d td d S )NdraftailembedchooserUrlsembedsChooserzwagtailembeds:chooser)r
   get_editor_pluginassertIsNotNonedatagetr   r   )r   featuresrH   r   r   r   test_chooser_urls_exist   s   z4TestEntityFeatureChooserUrls.test_chooser_urls_existN)r9   r:   r;   rP   r   r   r   r   rF      s    rF   N)unittest.mockr   django.testr   r   django.urlsr   wagtail.embeds.exceptionsr   wagtail.embeds.modelsr   wagtail.embeds.rich_textr   r?   $wagtail.embeds.rich_text.editor_htmlr   wagtail.rich_textr	   "wagtail.rich_text.feature_registryr
   wagtail.test.utilsr   r   r<   rF   r   r   r   r   <module>   s    3R