diff options
author | Christian Despres <50160106+despresc@users.noreply.github.com> | 2021-11-11 23:55:37 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-11 20:55:37 -0800 |
commit | abdfefebdf9ffd338683adb1d4fcfe6db4909b49 (patch) | |
tree | e264d6fb8cf598b388c5af5edb7a4e7d892b99b0 | |
parent | ebf7f782d3151956d6e886c9615580c0b67f6656 (diff) | |
download | pandoc-abdfefebdf9ffd338683adb1d4fcfe6db4909b49.tar.gz |
Writers.Shared: Improve toLegacyTable.
Closes #7683.
(PR #7684)
-rw-r--r-- | src/Text/Pandoc/Writers/Shared.hs | 2 | ||||
-rw-r--r-- | test/Tests/Shared.hs | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Writers/Shared.hs b/src/Text/Pandoc/Writers/Shared.hs index 6b8be3c8b..b23fc1341 100644 --- a/src/Text/Pandoc/Writers/Shared.hs +++ b/src/Text/Pandoc/Writers/Shared.hs @@ -508,7 +508,7 @@ toLegacyTable (Caption _ cbody) specs thead tbodies tfoot = let (h, w, cBody) = getComponents c cRowPieces = cBody : replicate (w - 1) mempty cPendingPieces = replicate w $ replicate (h - 1) mempty - pendingPieces' = dropWhile null pendingPieces + pendingPieces' = drop w pendingPieces (pendingPieces'', rowPieces) = placeCutCells pendingPieces' cells' in (cPendingPieces <> pendingPieces'', cRowPieces <> rowPieces) | otherwise = ([], []) diff --git a/test/Tests/Shared.hs b/test/Tests/Shared.hs index e415ea153..5365812fe 100644 --- a/test/Tests/Shared.hs +++ b/test/Tests/Shared.hs @@ -56,6 +56,7 @@ testLegacyTable :: [TestTree] testLegacyTable = [ testCase "decomposes a table with head" $ gen1 @?= expect1 , testCase "decomposes a table without head" $ gen2 @?= expect2 + , testCase "decomposes the table from issue 7683" $ gen3 @?= expect3 ] where pln = toList . plain . str @@ -110,3 +111,18 @@ testLegacyTable = ,[pln "j", mempty, mempty]] ) gen2 = toLegacyTable emptyCaption spec1 (th []) [body1] (tf footRows1) + + spec3 = replicate 4 (AlignDefault, ColWidthDefault) + body3 = tb 0 + [] + [[cl "a" 2 1, cl "b" 1 2, cl "c" 2 1] + ,[cl "d" 1 1, cl "e" 1 1] + ] + expect3 = ( [] + , replicate 4 AlignDefault + , replicate 4 0 + , [] + , [[pln "a", pln "b", mempty, pln "c"] + ,[mempty, pln "d", pln "e", mempty]] + ) + gen3 = toLegacyTable emptyCaption spec3 (th []) [body3] (tf []) |