def test_double_asterisk(self): self.assertEqual( render_panel(self.request, '**word**').strip(), '<p><strong>word</strong></p>', ) self.assertEqual( render_panel(self.request, '**word').strip(), '<p>**word</p>')
def test_problem_table(self): ids = [1, 2, 2434, 35235, 35325, 5235632, 5234934] ids = [str(id_) for id_ in ids] rendered = render_panel(None, '[[ProblemTable|%s]]' % ';'.join(ids)) for id_ in ids: self.assertIn('<td>%s</td>' % id_, rendered) rendered = render_panel(None, '[[ProblemTable|123_424]]') self.assertIn('[[ProblemTable|123_424]]', rendered)
def show_node_view(request): rendered_panel = mark_safe( render_panel( request, request.current_node.get_lang_version(request).panel_code)) return render(request, 'portals/show-node.html', {'rendered_panel': rendered_panel})
def test_table_element(self): rendered_markdown = render_panel(self.request, '|a|b|\n|-|-|\n|1|2|\n') self.assertIn("<table", rendered_markdown) self.assertIn("<thead>", rendered_markdown) self.assertIn("<tbody>", rendered_markdown) self.assertIn("<th>a</th>", rendered_markdown) self.assertIn("<td>1</td>", rendered_markdown)
def render_markdown_view(request): if request.method != 'POST' or 'markdown' not in request.POST: raise Http404 rendered = render_panel(request, request.POST['markdown']) return HttpResponse( json.dumps({'rendered': rendered}), content_type='application/json' )
def test_block_spoiler_complex_body(self): rendered_markdown = render_panel( self.request, '>![spoiler text]\n>!# header\n>!**bold**\n', ) self.assertIn("<h1>header</h1>", rendered_markdown) self.assertIn("<strong>bold</strong>", rendered_markdown)
def test_block_spoiler(self): rendered_markdown = render_panel(self.request, '>![spoiler text]\n>!spoiler body\n') self.assertIn("<details>", rendered_markdown) self.assertIn("<summary>spoiler text</summary>", rendered_markdown) self.assertIn("<p>spoiler body</p>", rendered_markdown) self.assertIn("</details>", rendered_markdown)
def test_problemtable_widget(self): urls = [ 'http://127.0.0.1:8000/problemset/problem/problem_1_key/site/', 'http://wwww.zabawa.pl/problemset/problem/problem_2_key/site/', 'www.zabawa.pl/problemset/problem/i_dont_exist_key/site/', 'www.zabawa.pl/problemset/problem/problem_3_key/site/', 'https://www.zabawa.pl/problemset/problem/problem_3_key/site/', 'zabawa.pl/problemset/problem/problem_3_name/site/', 'zabawa.pl/problemset/problem/problem_4_key/site/?key=statement', ] tag = '[[ProblemTable|%s]]' % ';'.join(urls) rendered = render_panel(self.request, tag) self.assertEquals(rendered.count('<tr>'), 6) self.assertEquals(rendered.count('href'), 5) self.assertNotIn('i_dont_exist', rendered) self.assertIn('>problem_1_name</a>', rendered) self.assertIn('>problem_2_name</a>', rendered) self.assertIn('>problem_3_name</a>', rendered) self.assertIn('>problem_4_name</a>', rendered) self.assertIn('problem_1_key/site', rendered) self.assertIn('problem_2_key/site', rendered) self.assertIn('problem_3_key/site', rendered) self.assertIn('problem_4_key/site', rendered)
def test_problemtable_widget(self): urls = [ 'http://127.0.0.1:8000/problemset/problem/problem_1_key/site/', 'http://wwww.zabawa.pl/problemset/problem/problem_2_key/site/', 'www.zabawa.pl/problemset/problem/i_dont_exist_key/site/', 'www.zabawa.pl/problemset/problem/problem_3_key/site/', 'https://www.zabawa.pl/problemset/problem/problem_3_key/site/', 'zabawa.pl/problemset/problem/problem_3_name/site/', 'zabawa.pl/problemset/problem/problem_4_key/site/?key=statement', ] tag = '[[ProblemTable|%s]]' % ';'.join(urls) rendered = render_panel(self.request, tag) self.assertEqual(rendered.count('<tr>'), 6) self.assertEqual(rendered.count('href'), 5) self.assertNotIn('i_dont_exist', rendered) self.assertIn('>problem_1_name</a>', rendered) self.assertIn('>problem_2_name</a>', rendered) self.assertIn('>problem_3_name</a>', rendered) self.assertIn('>problem_4_name</a>', rendered) self.assertIn('problem_1_key/site', rendered) self.assertIn('problem_2_key/site', rendered) self.assertIn('problem_3_key/site', rendered) self.assertIn('problem_4_key/site', rendered)
def test_youtube_widget(self): url = 'https://www.youtube.com/watch?v=pB0CTz5QlOw' embed_url = 'https://www.youtube.com/embed/pB0CTz5QlOw' rendered = render_panel(self.request, '[[YouTube|%s]]' % url) self.assertIn('<iframe src="%s"' % embed_url, rendered)
def test_youtube_widget(self): url = 'http://youtube.com' rendered = render_panel(None, '[[YouTube|%s]]' % url) self.assertIn('<iframe src="%s"' % url, rendered)
def test_double_asterisk(self): self.assertEquals(render_panel(self.request, '**word**').strip(), '<p><strong>word</strong></p>') self.assertEquals(render_panel(self.request, '**word').strip(), '<p>**word</p>')
def test_block_spoiler_in_sequence(self): rendered_markdown = render_panel( self.request, '>![first]\n>!first text\n\n>![second]\n>!second text\n') self.assertIn("<summary>first</summary>", rendered_markdown) self.assertIn("<summary>second</summary>", rendered_markdown)
def test_block_spoiler_nested(self): rendered_markdown = render_panel( self.request, '>![first]\n>!>![nested]\n>!>!nested text\n>!first text\n') self.assertIn("<summary>first</summary>", rendered_markdown) self.assertIn("<summary>nested</summary>", rendered_markdown)
def show_node_view(request): rendered_panel = mark_safe(render_panel(request, request.current_node.panel_code)) return render(request, 'portals/show-node.html', {'rendered_panel': rendered_panel})
def test_youtube_widget(self): url = 'https://www.youtube.com/watch?v=pB0CTz5QlOw' embed_url = 'https://www.youtube.com/embed/pB0CTz5QlOw' rendered = render_panel(self.request, '[[YouTube|%s]]' % url) self.assertIn('<iframe src="%s"' % embed_url, rendered)
def render_markdown_view(request): if request.method != 'POST' or 'markdown' not in request.POST: raise Http404 rendered = render_panel(request, request.POST['markdown']) return HttpResponse(json.dumps({'rendered': rendered}), content_type='application/json')