diff options
author | Alexander <ilabdsf@gmail.com> | 2017-08-22 07:08:44 +0300 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-08-21 21:08:44 -0700 |
commit | 0a839cbdc982217819c08c918cca75f6f56eabbb (patch) | |
tree | 30d65e93838c80b8cbcc3c0a434a08f64815a840 /test/Tests/Readers | |
parent | 4567105f6c3574c94a368df7da34bac5643ba624 (diff) |
Muse reader: add definition list support (#3860)
Diffstat (limited to 'test/Tests/Readers')
-rw-r--r-- | test/Tests/Readers/Muse.hs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/Tests/Readers/Muse.hs b/test/Tests/Readers/Muse.hs index c5c973f00..5a1a635c5 100644 --- a/test/Tests/Readers/Muse.hs +++ b/test/Tests/Readers/Muse.hs @@ -421,6 +421,58 @@ tests = ] =?> bulletList [ para "Foo" <> para "bar" ] <> bulletList [ para "Baz" ] ] + -- Test that definition list requires a leading space. + -- Emacs Muse does not require a space, we follow Amusewiki here. + , "Not a definition list" =: + T.unlines + [ "First :: second" + , "Foo :: bar" + ] =?> + para "First :: second Foo :: bar" + , "Definition list" =: + T.unlines + [ " First :: second" + , " Foo :: bar" + ] =?> + definitionList [ ("First", [ para "second" ]) + , ("Foo", [ para "bar" ]) + ] + , "Definition list term cannot include newline" =: + T.unlines + [ " Foo" -- "Foo" is not a part of the definition list term + , " Bar :: baz" + ] =?> + para "Foo" <> + definitionList [ ("Bar", [ para "baz" ]) ] + , "Multi-line definition lists" =: + T.unlines + [ " First term :: Definition of first term" + , "and its continuation." + , " Second term :: Definition of second term." + ] =?> + definitionList [ ("First term", [ para "Definition of first term and its continuation." ]) + , ("Second term", [ para "Definition of second term." ]) + ] + -- Emacs Muse creates two separate lists when indentation of items is different. + -- We follow Amusewiki and allow different indentation within one list. + , "Changing indentation" =: + T.unlines + [ " First term :: Definition of first term" + , "and its continuation." + , " Second term :: Definition of second term." + ] =?> + definitionList [ ("First term", [ para "Definition of first term and its continuation." ]) + , ("Second term", [ para "Definition of second term." ]) + ] + , "Two blank lines separate definition lists" =: + T.unlines + [ " First :: list" + , "" + , "" + , " Second :: list" + ] =?> + definitionList [ ("First", [ para "list" ]) ] <> + definitionList [ ("Second", [ para "list" ]) ] -- Headers in first column of list continuation are not allowed , "No headers in list continuation" =: T.unlines |