예제 #1
0
def test_proccessor_invalid_type_reference():
    with patch("tina.mdrender.extensions.references.get_instance_by_ref") as mock:
        instance = mock.return_value
        instance.content_type.model = "other"
        instance.content_object.subject = "test"
        result = render(dummy_project, "**#4**")
        assert result == "<p><strong>#4</strong></p>"
예제 #2
0
def test_proccessor_valid_task_reference():
    with patch("tina.mdrender.extensions.references.get_instance_by_ref") as mock:
        instance = mock.return_value
        instance.content_type.model = "task"
        instance.content_object.subject = "test"
        result = render(dummy_project, "**#3**")
        expected_result = '<p><strong><a class="reference task" href="http://localhost:9001/project/test/task/3" title="#3 test">&num;3</a></strong></p>'
        assert result == expected_result
예제 #3
0
def test_mentions_valid_username_with_dash():
    with patch("tina.mdrender.extensions.mentions.get_user_model") as get_user_model_mock:
        dummy_uuser = MagicMock()
        dummy_uuser.get_full_name.return_value = "Ginny Weasley"
        get_user_model_mock.return_value.objects.get = MagicMock(return_value=dummy_uuser)

        result = render(dummy_project, "text @super-ginny text")

        get_user_model_mock.return_value.objects.get.assert_called_with(username="******")
        assert result == ('<p>text <a class="mention" href="http://*****:*****@super-ginny</a> text</p>')
예제 #4
0
def test_mentions_valid_username():
    with patch("tina.mdrender.extensions.mentions.get_user_model") as get_user_model_mock:
        dummy_uuser = MagicMock()
        dummy_uuser.get_full_name.return_value = "Hermione Granger"
        get_user_model_mock.return_value.objects.get = MagicMock(return_value=dummy_uuser)

        result = render(dummy_project, "text @hermione text")

        get_user_model_mock.return_value.objects.get.assert_called_with(username="******")
        assert result == ('<p>text <a class="mention" href="http://*****:*****@hermione</a> text</p>')
예제 #5
0
def test_mentions_valid_username_with_points():
    with patch("tina.mdrender.extensions.mentions.get_user_model") as get_user_model_mock:
        dummy_uuser = MagicMock()
        dummy_uuser.get_full_name.return_value = "Luna Lovegood"
        get_user_model_mock.return_value.objects.get = MagicMock(return_value=dummy_uuser)

        result = render(dummy_project, "text @luna.lovegood text")

        get_user_model_mock.return_value.objects.get.assert_called_with(username="******")
        assert result == ('<p>text <a class="mention" href="http://*****:*****@luna.lovegood</a> text</p>')
예제 #6
0
def test_render_reference_links():
    expected_result = "<p>An <a href=\"http://example.com/\" target=\"_blank\" title=\"Title\">example</a> of reference link</p>"
    source = "An [example][id] of reference link\n  [id]: http://example.com/  \"Title\""
    assert render(dummy_project, source) == expected_result
예제 #7
0
def test_render_relative_image():
    assert render(dummy_project, "![test](test.png)") == "<p><img alt=\"test\" src=\"test.png\"></p>"
예제 #8
0
def test_render_triple_quote_and_lang_code():
    expected_result = '<div class="codehilite"><pre><span></span><span class="k">print</span><span class="p">(</span><span class="s2">&quot;test&quot;</span><span class="p">)</span>\n</pre></div>'

    assert render(dummy_project, "```python\nprint(\"test\")\n```") == expected_result
예제 #9
0
def test_render_wiki_strong():
    assert render(dummy_project, "**test**") == "<p><strong>test</strong></p>"
    assert render(dummy_project, "__test__") == "<p><strong>test</strong></p>"
예제 #10
0
def test_render_absolute_image():
    assert render(dummy_project, "![test](/test.png)") == "<p><img alt=\"test\" src=\"/test.png\"></p>"
예제 #11
0
def mdrender(project, text) -> str:
    if text:
        return Markup(render(project, text))
    return ""
예제 #12
0
def test_proccessor_invalid_user_mention():
    result = render(dummy_project, "**@notvaliduser**")
    assert result == '<p><strong>@notvaliduser</strong></p>'
예제 #13
0
def test_render_wikilink_relative_to_absolute():
    expected_result = "<p><a href=\"http://localhost:9001/project/test/\">test project</a></p>"
    assert render(dummy_project, "[test project](/project/test/)") == expected_result
예제 #14
0
def test_render_wiki_italic():
    assert render(dummy_project, "*test*") == "<p><em>test</em></p>"
    assert render(dummy_project, "_test_") == "<p><em>test</em></p>"
예제 #15
0
def test_render_wikilink_slug_to_wikipages():
    expected_result = "<p><a class=\"reference wiki\" href=\"http://localhost:9001/project/test/wiki/wiki_page\" title=\"wiki page\">wiki</a></p>"
    assert render(dummy_project, "[wiki](wiki_page \"wiki page\")") == expected_result
예제 #16
0
def test_render_wikilink_with_custom_title():
    expected_result = "<p><a class=\"reference wiki\" href=\"http://localhost:9001/project/test/wiki/test\" title=\"custom\">custom</a></p>"
    assert render(dummy_project, "[[test|custom]]") == expected_result
예제 #17
0
def test_render_wikilink_3():
    expected_result = "<p><a class=\"reference wiki\" href=\"http://localhost:9001/project/test/wiki/testpage\" title=\"TestPage\">TestPage</a></p>"
    assert render(dummy_project, "[[TestPage]]") == expected_result
예제 #18
0
def test_render_wikilink_1():
    expected_result = "<p><a class=\"reference wiki\" href=\"http://localhost:9001/project/test/wiki/test\" title=\"test\">test</a></p>"
    assert render(dummy_project, "[[test]]") == expected_result
예제 #19
0
def test_render_wiki_strike():
    assert render(dummy_project, "~~test~~") == "<p><del>test</del></p>"
예제 #20
0
def test_render_url_autolinks():
    expected_result = "<p>Test the <a href=\"http://example.com/\" target=\"_blank\">http://example.com/</a> autolink</p>"
    source = "Test the http://example.com/ autolink"
    assert render(dummy_project, source) == expected_result
예제 #21
0
def test_render_url_autolinks_without_http():
    expected_result = "<p>Test the <a href=\"http://www.example.com\" target=\"_blank\">www.example.com</a> autolink</p>"
    source = "Test the www.example.com autolink"
    assert render(dummy_project, source) == expected_result
예제 #22
0
def test_proccessor_valid_user_mention_with_dashes():
    factories.UserFactory(username="******",
                          full_name="test name")
    result = render(dummy_project, "**@user1_text_after_dash**")
    expected_result = "<p><strong><a class=\"mention\" href=\"http://*****:*****@user1_text_after_dash</a></strong></p>"
    assert result == expected_result
예제 #23
0
def test_render_url_automail():
    expected_result = "<p>Test the <a href=\"mailto:[email protected]\" target=\"_blank\">[email protected]</a> automail</p>"
    source = "Test the [email protected] automail"
    assert render(dummy_project, source) == expected_result
예제 #24
0
def test_proccessor_valid_email():
    result = render(dummy_project, "**[email protected]**")
    expected_result = "<p><strong><a href=\"mailto:[email protected]\" target=\"_blank\">[email protected]</a></strong></p>"
    assert result == expected_result
예제 #25
0
def test_proccessor_invalid_reference():
    with patch("tina.mdrender.extensions.references.get_instance_by_ref") as mock:
        mock.return_value = None
        result = render(dummy_project, "**#5**")
        assert result == "<p><strong>#5</strong></p>"