From 3de8f4fdc552c7ba103ec30ef79ea42ec674a8cc Mon Sep 17 00:00:00 2001 From: Albert Krewinkel Date: Sun, 31 Oct 2021 11:12:53 +0100 Subject: Lua: re-add `content` property to Link elements This was a regression introduced in version 2.15. Fixes: #7647 --- src/Text/Pandoc/Lua/Marshaling/AST.hs | 2 ++ test/lua/module/pandoc.lua | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/Text/Pandoc/Lua/Marshaling/AST.hs b/src/Text/Pandoc/Lua/Marshaling/AST.hs index aabc9e530..07b11b3ea 100644 --- a/src/Text/Pandoc/Lua/Marshaling/AST.hs +++ b/src/Text/Pandoc/Lua/Marshaling/AST.hs @@ -608,6 +608,7 @@ setInlineContent = \case -- inline content Cite cs _ -> Actual . Cite cs . inlineContent Emph _ -> Actual . Emph . inlineContent + Link a _ tgt -> Actual . (\inlns -> Link a inlns tgt) . inlineContent Quoted qt _ -> Actual . Quoted qt . inlineContent SmallCaps _ -> Actual . SmallCaps . inlineContent Span attr _ -> Actual . Span attr . inlineContent @@ -633,6 +634,7 @@ getInlineContent :: Inline -> Possible Content getInlineContent = \case Cite _ inlns -> Actual $ ContentInlines inlns Emph inlns -> Actual $ ContentInlines inlns + Link _ inlns _ -> Actual $ ContentInlines inlns Quoted _ inlns -> Actual $ ContentInlines inlns SmallCaps inlns -> Actual $ ContentInlines inlns Span _ inlns -> Actual $ ContentInlines inlns diff --git a/test/lua/module/pandoc.lua b/test/lua/module/pandoc.lua index 6e8257633..b18a01faa 100644 --- a/test/lua/module/pandoc.lua +++ b/test/lua/module/pandoc.lua @@ -148,6 +148,16 @@ return { end) } }, + group "Inline elements" { + test('Link has property `content`', function () + local link = pandoc.Link('example', 'https://example.org') + assert.are_same(link.content, {pandoc.Str 'example'}) + + link.content = 'commercial' + link.target = 'https://example.com' + assert.are_equal(link, pandoc.Link('commercial', 'https://example.com')) + end) + }, group "Block elements" { group "BulletList" { test('access items via property `content`', function () -- cgit v1.2.3