def test_render_within_structblock(self, get_embed): """ When rendering the value of an EmbedBlock directly in a template (as happens when accessing it as a child of a StructBlock), the proper embed output should be rendered, not the URL. """ get_embed.return_value = Embed(html='<h1>Hello world!</h1>') block = blocks.StructBlock([ ('title', blocks.CharBlock()), ('embed', EmbedBlock()), ]) block_val = block.to_python({ 'title': 'A test', 'embed': 'http://www.example.com/foo' }) temp = template.Template('embed: {{ self.embed }}') context = template.Context({'self': block_val}) result = temp.render(context) self.assertIn('<h1>Hello world!</h1>', result) # Check that get_embed was called correctly get_embed.assert_any_call('http://www.example.com/foo')
def test_expand_db_attributes_for_editor(self, get_embed): get_embed.return_value = Embed( url='http://www.youtube.com/watch/', max_width=None, type='video', html='test html', title='test title', author_name='test author name', provider_name='test provider name', thumbnail_url='http://test/thumbnail.url', width=1000, height=1000, ) result = MediaEmbedHandler.expand_db_attributes( {'url': 'http://www.youtube.com/watch/'}, True ) self.assertIn( ( '<div class="embed-placeholder" contenteditable="false" data-embedtype="media"' ' data-url="http://www.youtube.com/watch/">' ), result ) self.assertIn('<h3>test title</h3>', result) self.assertIn('<p>URL: http://www.youtube.com/watch/</p>', result) self.assertIn('<p>Provider: test provider name</p>', result) self.assertIn('<p>Author: test author name</p>', result) self.assertIn('<img src="http://test/thumbnail.url" alt="test title">', result)
def test_call_from_template(self, get_embed): get_embed.return_value = Embed(html='<img src="http://www.example.com" />') temp = template.Template('{% load wagtailembeds_tags %}{% embed "http://www.youtube.com/watch/" %}') result = temp.render(template.Context()) self.assertEqual(result, '<img src="http://www.example.com" />')
def test_direct_call(self, get_embed): get_embed.return_value = Embed( html='<img src="http://www.example.com" />') result = embed_filter('http://www.youtube.com/watch/') self.assertEqual(result, '<img src="http://www.example.com" />')
def test_submit_valid_embed(self, get_embed): get_embed.return_value = Embed(html='<img src="http://www.example.com" />', title="An example embed") response = self.client.post(reverse('wagtailembeds:chooser_upload'), { 'url': 'http://www.example.com/' }) self.assertEqual(response.status_code, 200) self.assertContains(response, """modal.respond('embedChosen'""") self.assertContains(response, """An example embed""")
def test_render(self, get_embed): get_embed.return_value = Embed(html='<h1>Hello world!</h1>') block = EmbedBlock() html = block.render('http://www.example.com') # Check that get_embed was called correctly get_embed.assert_any_call('http://www.example.com') # Check that the embed was in the returned HTML self.assertIn('<h1>Hello world!</h1>', html)
def test_call_from_template(self, get_embed): with warnings.catch_warnings(record=True) as ws: warnings.resetwarnings() warnings.simplefilter('always') get_embed.return_value = Embed(html='<img src="http://www.example.com" />') temp = template.Template('{% load wagtailembeds_tags %}{{ "http://www.youtube.com/watch/"|embed }}') result = temp.render(template.Context()) self.assertEqual(result, '<img src="http://www.example.com" />') self.assertEqual(len(ws), 1) self.assertIs(ws[0].category, RemovedInWagtail19Warning)
def test_direct_call(self, get_embed): with warnings.catch_warnings(record=True) as ws: warnings.resetwarnings() warnings.simplefilter('always') get_embed.return_value = Embed(html='<img src="http://www.example.com" />') result = embed_filter('http://www.youtube.com/watch/') self.assertEqual(result, '<img src="http://www.example.com" />') self.assertEqual(len(ws), 1) self.assertIs(ws[0].category, RemovedInWagtail19Warning)
def test_render(self, get_embed): get_embed.return_value = Embed(html='<h1>Hello world!</h1>') block = EmbedBlock() block_val = block.to_python('http://www.example.com/foo') temp = template.Template('embed: {{ embed }}') context = template.Context({'embed': block_val}) result = temp.render(context) # Check that the embed was in the returned HTML self.assertIn('<h1>Hello world!</h1>', result) # Check that get_embed was called correctly get_embed.assert_any_call('http://www.example.com/foo')
def test_expand_db_attributes(self, get_embed): get_embed.return_value = Embed( url='http://www.youtube.com/watch/', max_width=None, type='video', html='test html', title='test title', author_name='test author name', provider_name='test provider name', thumbnail_url='htto://test/thumbnail.url', width=1000, height=1000, ) result = MediaEmbedHandler.expand_db_attributes( {'url': 'http://www.youtube.com/watch/'}, False) self.assertIn('test html', result)
def test_expand_db_html_with_embed(self, get_embed): from wagtail.wagtailembeds.models import Embed get_embed.return_value = Embed(html='test html') html = '<embed embedtype="media" url="http://www.youtube.com/watch" />' result = expand_db_html(html) self.assertIn('test html', result)