aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAnders Waldenborg <anders@0x63.nu>2018-07-16 00:14:40 +0200
committerJohn MacFarlane <jgm@berkeley.edu>2018-07-15 15:14:40 -0700
commitec30fb37c12fc5d1a248971831414891cf6dcbe7 (patch)
tree9b41353a8f3678381a09cdcfdf15ea0190461ca6 /test
parentef07db6cefb34b5a6d89fc7d40e0144b6d6440b6 (diff)
downloadpandoc-ec30fb37c12fc5d1a248971831414891cf6dcbe7.tar.gz
Wrap emojis in span nodes (#4759)
Text.Pandoc.Emoji now exports `emojiToInline`, which returns a Span inline containing the emoji character and some attributes with metadata (class `emoji`, attribute `data-emoji` with emoji name). Previously, emojis (as supported in Markdown and CommonMark readers, e.g ":smile:") were simply translated into the corresponding unicode code point. By wrapping them in Span nodes, we make it possible to do special handling such as giving them a special font in HTML output. We also open up the possibility of treating them differently when the `--ascii` option is selected (though that is not part of this commit). Closes #4743.
Diffstat (limited to 'test')
-rw-r--r--test/Tests/Readers/Markdown.hs4
-rw-r--r--test/command/4743.md25
-rw-r--r--test/command/gfm.md2
3 files changed, 29 insertions, 2 deletions
diff --git a/test/Tests/Readers/Markdown.hs b/test/Tests/Readers/Markdown.hs
index e44c7fc19..bc8e55615 100644
--- a/test/Tests/Readers/Markdown.hs
+++ b/test/Tests/Readers/Markdown.hs
@@ -199,7 +199,9 @@ tests = [ testGroup "inline code"
]
, testGroup "emoji"
[ test markdownGH "emoji symbols" $
- ":smile: and :+1:" =?> para (text "😄 and 👍")
+ ":smile: and :+1:" =?> para (spanWith ("", ["emoji"], [("data-emoji", "smile")]) "😄" <>
+ space <> str "and" <> space <>
+ spanWith ("", ["emoji"], [("data-emoji", "+1")]) "👍")
]
, "unbalanced brackets" =:
"[[[[[[[[[[[[hi" =?> para (text "[[[[[[[[[[[[hi")
diff --git a/test/command/4743.md b/test/command/4743.md
new file mode 100644
index 000000000..49b4b6d59
--- /dev/null
+++ b/test/command/4743.md
@@ -0,0 +1,25 @@
+Test that emojis are wrapped in Span
+
+```
+% pandoc -f commonmark+emoji -t native
+My:thumbsup:emoji:heart:
+^D
+[Para [Str "My",Span ("",["emoji"],[("data-emoji","thumbsup")]) [Str "\128077"],Str "emoji",Span ("",["emoji"],[("data-emoji","heart")]) [Str "\10084\65039"]]]
+```
+
+```
+% pandoc -f markdown+emoji -t native
+My:thumbsup:emoji:heart:
+^D
+[Para [Str "My",Span ("",["emoji"],[("data-emoji","thumbsup")]) [Str "\128077"],Str "emoji",Span ("",["emoji"],[("data-emoji","heart")]) [Str "\10084\65039"]]]
+```
+
+```
+% pandoc -f commonmark+emoji -t html
+:zero: header
+=============
+My:thumbsup:emoji:heart:x :hearts: xyz
+^D
+<h1><span class="emoji" data-emoji="zero">0️⃣</span> header</h1>
+<p>My<span class="emoji" data-emoji="thumbsup">👍</span>emoji<span class="emoji" data-emoji="heart">❤️</span>x <span class="emoji" data-emoji="hearts">♥️</span> xyz</p>
+```
diff --git a/test/command/gfm.md b/test/command/gfm.md
index 670f3cd6e..7a7098989 100644
--- a/test/command/gfm.md
+++ b/test/command/gfm.md
@@ -38,7 +38,7 @@ gfm tests:
% pandoc -f gfm -t native
My:thumbsup:emoji:heart:
^D
-[Para [Str "My\128077emoji\10084\65039"]]
+[Para [Str "My",Span ("",["emoji"],[("data-emoji","thumbsup")]) [Str "\128077"],Str "emoji",Span ("",["emoji"],[("data-emoji","heart")]) [Str "\10084\65039"]]]
```
```