diff options
| -rw-r--r-- | src/Text/Pandoc/Lua/Marshaling/AST.hs | 2 | ||||
| -rw-r--r-- | test/lua/module/pandoc.lua | 23 | 
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() | 
