1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
defmodule Acceptance.Ast.EmphasisTest do
use ExUnit.Case, async: true
import Support.Helpers, only: [as_ast: 1, as_ast: 2]
import EarmarkAstDsl
describe "Emphasis" do
test "important" do
markdown = "*foo bar*\n"
ast = p(em("foo bar"))
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
test "imporatant quotes" do
markdown = "a*\"foo\"*\n"
ast = p(["a", em("\"foo\"")])
messages = []
assert as_ast(markdown, smartypants: false) == {:ok, [ast], messages}
end
test "important _" do
markdown = "_foo bar_\n"
ast = p(em("foo bar"))
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
test "dont get confused" do
markdown = "_foo*\n"
ast = p("_foo*")
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
test "that should make you smile" do
markdown = "_foo_bar_baz_\n"
ast = p(em("foo_bar_baz"))
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
test "stronger" do
markdown = "**foo bar**\n"
ast = p(strong("foo bar"))
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
test "stronger insisde" do
markdown = "foo**bar**\n"
ast = p(["foo", strong("bar")])
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
test "stronger together" do
markdown = "__foo bar__\n"
ast = p(strong("foo bar"))
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
test "let no evil underscores divide us" do
markdown = "**foo__bar**\n"
ast = p(strong("foo__bar"))
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
test "strong **and** stronger" do
markdown = "*(**foo**)*\n"
ast = p(em(["(", strong("foo"), ")"]))
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
test "stronger **and** strong" do
markdown = "**(*foo*)**\n"
ast = p(strong(["(", em("foo"), ")"]))
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
test "one is not strong enough" do
markdown = "foo*\n"
ast = p("foo*")
messages = []
assert as_ast(markdown) == {:ok, [ast], messages}
end
defp em(content) do
tag("em", content)
end
defp strong(content) do
tag("strong", content)
end
end
end
# SPDX-License-Identifier: Apache-2.0
|