Exemplo n.º 1
0
 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>')
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
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})
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
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'
    )
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
    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)
Exemplo n.º 10
0
 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)
Exemplo n.º 11
0
 def test_youtube_widget(self):
     url = 'http://youtube.com'
     rendered = render_panel(None, '[[YouTube|%s]]' % url)
     self.assertIn('<iframe src="%s"' % url, rendered)
Exemplo n.º 12
0
 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>')
Exemplo n.º 13
0
 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)
Exemplo n.º 14
0
 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)
Exemplo n.º 15
0
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})
Exemplo n.º 16
0
 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)
Exemplo n.º 17
0
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')