git.iko.soy/typeable/pandoc
on master help sign in
Muse writer: remove empty strings during inline normalization
1d57f7aAlexander Krotov
src/Text/Pandoc/Writers/Muse.hs+2
@@ -299,6 +299,8 @@ conditionalEscapeString s =
299 else s
299 else s
300
300
301normalizeInlineList :: [Inline] -> [Inline]
301normalizeInlineList :: [Inline] -> [Inline]
302+normalizeInlineList (x : Str "" : xs)
303+ = normalizeInlineList (x:xs)
302normalizeInlineList (Emph x1 : Emph x2 : ils)
304normalizeInlineList (Emph x1 : Emph x2 : ils)
303 = normalizeInlineList $ Emph (x1 ++ x2) : ils
305 = normalizeInlineList $ Emph (x1 ++ x2) : ils
304normalizeInlineList (Strong x1 : Strong x2 : ils)
306normalizeInlineList (Strong x1 : Strong x2 : ils)
test/Tests/Writers/Muse.hs+1
@@ -319,6 +319,7 @@ tests = [ testGroup "block elements"
319 , "escape tag" =: code "<code>foo = bar</code> baz" =?> "<code><code>foo = bar<</code><code>/code> baz</code>"
319 , "escape tag" =: code "<code>foo = bar</code> baz" =?> "<code><code>foo = bar<</code><code>/code> baz</code>"
320 , "normalization with attributes" =: codeWith ("",["haskell"],[]) "foo" <> code "bar" =?> "<code>foobar</code>"
320 , "normalization with attributes" =: codeWith ("",["haskell"],[]) "foo" <> code "bar" =?> "<code>foobar</code>"
321 , "normalization" =: code "</co" <> code "de>" =?> "<code><</code><code>/code></code>"
321 , "normalization" =: code "</co" <> code "de>" =?> "<code><</code><code>/code></code>"
322+ , "normalization with empty string" =: code "</co" <> str "" <> code "de>" =?> "<code><</code><code>/code></code>"
322 ]
323 ]
323 , testGroup "spaces"
324 , testGroup "spaces"
324 [ "space" =: text "a" <> space <> text "b" =?> "a b"
325 [ "space" =: text "a" <> space <> text "b" =?> "a b"