diff options
author | Erik Rask <erik.rask@paligo.net> | 2021-02-19 13:05:35 +0100 |
---|---|---|
committer | Albert Krewinkel <albert+github@zeitkraut.de> | 2021-03-20 21:29:17 +0100 |
commit | 82e8c29cb0a89d7129f459bef6696254ec56e0c6 (patch) | |
tree | 5c731b7ce446a3622cb4a6091b2ed5d46a749e3f /test/Tests/Writers | |
parent | 38618098153c29ea2a39fa6102e9e681136e6fd4 (diff) | |
download | pandoc-82e8c29cb0a89d7129f459bef6696254ec56e0c6.tar.gz |
Include Header.Attr.attributes as XML attributes on section
Add key-value pairs found in the attributes list of Header.Attr as
XML attributes on the corresponding section element.
Any key name not allowed as an XML attribute name is dropped, as
are keys with invalid values where they are defined as enums in
DocBook, and xml:id (for DocBook 5)/id (for DocBook 4) to not
intervene with computed identifiers.
Diffstat (limited to 'test/Tests/Writers')
-rw-r--r-- | test/Tests/Writers/Docbook.hs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/Tests/Writers/Docbook.hs b/test/Tests/Writers/Docbook.hs index 842aed7ae..46203eeae 100644 --- a/test/Tests/Writers/Docbook.hs +++ b/test/Tests/Writers/Docbook.hs @@ -11,9 +11,14 @@ import Text.Pandoc.Builder docbook :: (ToPandoc a) => a -> String docbook = docbookWithOpts def{ writerWrapText = WrapNone } +docbook5 :: (ToPandoc a) => a -> String +docbook5 = docbook5WithOpts def{ writerWrapText = WrapNone } + docbookWithOpts :: ToPandoc a => WriterOptions -> a -> String docbookWithOpts opts = unpack . purely (writeDocbook4 opts) . toPandoc +docbook5WithOpts :: ToPandoc a => WriterOptions -> a -> String +docbook5WithOpts opts = unpack . purely (writeDocbook5 opts) . toPandoc {- "my test" =: X =?> Y @@ -366,4 +371,36 @@ tests = [ testGroup "line blocks" ] ] ] + , testGroup "section attributes" $ + let + headers = headerWith ("myid1",[],[("role","internal"),("xml:id","anotherid"),("dir","rtl")]) 1 "header1" + <> headerWith ("myid2",[],[("invalidname","value"),("arch","linux"),("dir","invaliddir")]) 1 "header2" + in + [ test docbook5 "sections with attributes (db5)" $ + headers =?> + unlines [ "<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"myid1\" role=\"internal\" dir=\"rtl\">" + , " <title>header1</title>" + , " <para>" + , " </para>" + , "</section>" + , "<section xmlns=\"http://docbook.org/ns/docbook\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"myid2\">" + , " <title>header2</title>" + , " <para>" + , " </para>" + , "</section>" + ] + , test docbook "sections with attributes (db4)" $ + headers =?> + unlines [ "<sect1 id=\"myid1\" role=\"internal\">" + , " <title>header1</title>" + , " <para>" + , " </para>" + , "</sect1>" + , "<sect1 id=\"myid2\" arch=\"linux\">" + , " <title>header2</title>" + , " <para>" + , " </para>" + , "</sect1>" + ] + ] ] |