aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2021-11-01 15:43:51 +0100
committerAlbert Krewinkel <albert@zeitkraut.de>2021-11-01 15:43:51 +0100
commit759aa5095101351bc2e4d2c4629df945b743e7db (patch)
tree178ed85af6d0dae421307aa5f5eabad55501a9b8
parent1c02145d934c58c3db4de64ed1e16128ecb54c69 (diff)
downloadpandoc-759aa5095101351bc2e4d2c4629df945b743e7db.tar.gz
Lua: restore `content` property on Header elements
-rw-r--r--src/Text/Pandoc/Lua/Marshaling/AST.hs2
-rw-r--r--test/lua/module/pandoc.lua23
2 files changed, 25 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Lua/Marshaling/AST.hs b/src/Text/Pandoc/Lua/Marshaling/AST.hs
index 07b11b3ea..883a6dce2 100644
--- a/src/Text/Pandoc/Lua/Marshaling/AST.hs
+++ b/src/Text/Pandoc/Lua/Marshaling/AST.hs
@@ -340,6 +340,7 @@ getBlockContent = \case
-- inline content
Para inlns -> Actual $ ContentInlines inlns
Plain inlns -> Actual $ ContentInlines inlns
+ Header _ _ inlns -> Actual $ ContentInlines inlns
-- inline content
BlockQuote blks -> Actual $ ContentBlocks blks
Div _ blks -> Actual $ ContentBlocks blks
@@ -357,6 +358,7 @@ setBlockContent = \case
-- inline content
Para _ -> Actual . Para . inlineContent
Plain _ -> Actual . Plain . inlineContent
+ Header attr lvl _ -> Actual . Header attr lvl . inlineContent
-- block content
BlockQuote _ -> Actual . BlockQuote . blockContent
Div attr _ -> Actual . Div attr . blockContent
diff --git a/test/lua/module/pandoc.lua b/test/lua/module/pandoc.lua
index 4e0b5188e..21a6de2de 100644
--- a/test/lua/module/pandoc.lua
+++ b/test/lua/module/pandoc.lua
@@ -245,6 +245,29 @@ return {
)
end),
},
+ group 'Header' {
+ test('access inlines via property `content`', function ()
+ local header = pandoc.Header(1, 'test')
+ assert.are_same(header.content, {pandoc.Str 'test'})
+
+ header.content = {'new text'}
+ assert.are_equal(header, pandoc.Header(1, 'new text'))
+ end),
+ test('access Attr via property `attr`', function ()
+ local header = pandoc.Header(1, 'test', {'my-test'})
+ assert.are_same(header.attr, pandoc.Attr{'my-test'})
+
+ header.attr = 'second-test'
+ assert.are_equal(header, pandoc.Header(1, 'test', 'second-test'))
+ end),
+ test('access level via property `level`', function ()
+ local header = pandoc.Header(3, 'test')
+ assert.are_same(header.level, 3)
+
+ header.level = 2
+ assert.are_equal(header, pandoc.Header(2, 'test'))
+ end),
+ },
group 'LineBlock' {
test('access lines via property `content`', function ()
local spc = pandoc.Space()