diff options
-rw-r--r-- | src/Text/Pandoc/Readers/Muse.hs | 5 | ||||
-rw-r--r-- | test/Tests/Readers/Muse.hs | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs index 924149294..f64f9d04f 100644 --- a/src/Text/Pandoc/Readers/Muse.hs +++ b/src/Text/Pandoc/Readers/Muse.hs @@ -113,11 +113,10 @@ nested p = do htmlElement :: PandocMonad m => String -> MuseParser m (Attr, String) htmlElement tag = try $ do (TagOpen _ attr, _) <- htmlTag (~== TagOpen tag []) - content <- manyTill anyChar (endtag <|> endofinput) + content <- manyTill anyChar endtag return (htmlAttrToPandoc attr, content) where - endtag = void $ htmlTag (~== TagClose tag) - endofinput = lookAhead $ try $ skipMany blankline >> skipSpaces >> eof + endtag = void $ htmlTag (~== TagClose tag) htmlAttrToPandoc :: [Attribute String] -> Attr htmlAttrToPandoc attrs = (ident, classes, keyvals) diff --git a/test/Tests/Readers/Muse.hs b/test/Tests/Readers/Muse.hs index 5a1a635c5..dac980c90 100644 --- a/test/Tests/Readers/Muse.hs +++ b/test/Tests/Readers/Muse.hs @@ -54,6 +54,12 @@ tests = , "Strikeout tag" =: "<del>Strikeout</del>" =?> para (strikeout "Strikeout") + , "Opening inline tags" =: "foo <em> bar <strong>baz" =?> para "foo <em> bar <strong>baz" + + , "Closing inline tags" =: "foo </em> bar </strong>baz" =?> para "foo </em> bar </strong>baz" + + , "Tag soup" =: "foo <em> bar </strong>baz" =?> para "foo <em> bar </strong>baz" + , "Linebreak" =: "Line <br> break" =?> para ("Line" <> linebreak <> "break") , "Code" =: "=foo(bar)=" =?> para (code "foo(bar)") |