# Pleroma: A lightweight social networking server # Copyright © 2020 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.EarmarkRendererTest do use ExUnit.Case test "Paragraph" do code = ~s[Hello\n\nWorld!] result = Pleroma.Formatter.markdown_to_html(code) assert result == "

Hello

World!

" end test "raw HTML" do code = ~s[OwO] result = Pleroma.Formatter.markdown_to_html(code) assert result == "

#{code}

" end test "rulers" do code = ~s[before\n\n-----\n\nafter] result = Pleroma.Formatter.markdown_to_html(code) assert result == "

before


after

" end test "headings" do code = ~s[# h1\n## h2\n### h3\n] result = Pleroma.Formatter.markdown_to_html(code) assert result == ~s[

h1

h2

h3

] end test "blockquote" do code = ~s[> whoms't are you quoting?] result = Pleroma.Formatter.markdown_to_html(code) assert result == "

whoms’t are you quoting?

" end test "code" do code = ~s[`mix`] result = Pleroma.Formatter.markdown_to_html(code) assert result == ~s[

mix

] code = ~s[``mix``] result = Pleroma.Formatter.markdown_to_html(code) assert result == ~s[

mix

] code = ~s[```\nputs "Hello World"\n```] result = Pleroma.Formatter.markdown_to_html(code) assert result == ~s[
puts "Hello World"
] end test "lists" do code = ~s[- one\n- two\n- three\n- four] result = Pleroma.Formatter.markdown_to_html(code) assert result == "" code = ~s[1. one\n2. two\n3. three\n4. four\n] result = Pleroma.Formatter.markdown_to_html(code) assert result == "
  1. one
  2. two
  3. three
  4. four
" end test "delegated renderers" do code = ~s[a
b] result = Pleroma.Formatter.markdown_to_html(code) assert result == "

#{code}

" code = ~s[*aaaa~*] result = Pleroma.Formatter.markdown_to_html(code) assert result == ~s[

aaaa~

] code = ~s[**aaaa~**] result = Pleroma.Formatter.markdown_to_html(code) assert result == ~s[

aaaa~

] # strikethrought code = ~s[aaaa~] result = Pleroma.Formatter.markdown_to_html(code) assert result == ~s[

aaaa~

] end end