aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2021-10-26 21:39:24 +0200
committerAlbert Krewinkel <albert@zeitkraut.de>2021-10-26 21:45:16 +0200
commitb95e864ecfc0a0ef96fa09d4118c8e6b4033784c (patch)
tree65b6cbf01483bbf7d932d82bb95c8549cc69799f /test
parent80ed81822e27ac0d09e365ccc6f6508f3b1b4a9b (diff)
downloadpandoc-b95e864ecfc0a0ef96fa09d4118c8e6b4033784c.tar.gz
Lua: marshal SimpleTable values as userdata objects
Diffstat (limited to 'test')
-rw-r--r--test/lua/module/pandoc.lua61
1 files changed, 61 insertions, 0 deletions
diff --git a/test/lua/module/pandoc.lua b/test/lua/module/pandoc.lua
index 173c9bb29..9b6e360f3 100644
--- a/test/lua/module/pandoc.lua
+++ b/test/lua/module/pandoc.lua
@@ -261,6 +261,67 @@ return {
end)
}
},
+ group 'Other types' {
+ group 'SimpleTable' {
+ test('can access properties', function ()
+ local spc = pandoc.Space()
+ local caption = {pandoc.Str 'Languages', spc, pandoc.Str 'overview.'}
+ local aligns = {pandoc.AlignDefault, pandoc.AlignDefault}
+ local widths = {0, 0} -- let pandoc determine col widths
+ local headers = {{pandoc.Plain({pandoc.Str "Language"})},
+ {pandoc.Plain({pandoc.Str "Typing"})}}
+ local rows = {
+ {{pandoc.Plain "Haskell"}, {pandoc.Plain "static"}},
+ {{pandoc.Plain "Lua"}, {pandoc.Plain "Dynamic"}},
+ }
+ local simple_table = pandoc.SimpleTable(
+ caption,
+ aligns,
+ widths,
+ headers,
+ rows
+ )
+ assert.are_same(simple_table.caption, caption)
+ assert.are_same(simple_table.aligns, aligns)
+ assert.are_same(simple_table.widths, widths)
+ assert.are_same(simple_table.headers, headers)
+ assert.are_same(simple_table.rows, rows)
+ end),
+ test('can modify properties', function ()
+ local new_table = pandoc.SimpleTable(
+ {'Languages'},
+ {pandoc.AlignDefault, pandoc.AlignDefault},
+ {0.5, 0.5},
+ {{pandoc.Plain({pandoc.Str "Language"})},
+ {pandoc.Plain({pandoc.Str "Typing"})}},
+ {
+ {{pandoc.Plain "Haskell"}, {pandoc.Plain "static"}},
+ {{pandoc.Plain "Lua"}, {pandoc.Plain "Dynamic"}},
+ }
+ )
+
+ new_table.caption = {pandoc.Str 'Good', pandoc.Space(),
+ pandoc.Str 'languages'}
+ new_table.aligns[1] = pandoc.AlignLeft
+ new_table.widths = {0, 0}
+ new_table.headers[2] = {pandoc.Plain{pandoc.Str 'compiled/interpreted'}}
+ new_table.rows[1][2] = {pandoc.Plain{pandoc.Str 'both'}}
+ new_table.rows[2][2] = {pandoc.Plain{pandoc.Str 'interpreted'}}
+
+ local expected_table = pandoc.SimpleTable(
+ {pandoc.Str 'Good', pandoc.Space(), pandoc.Str 'languages'},
+ {pandoc.AlignLeft, pandoc.AlignDefault},
+ {0, 0},
+ {{pandoc.Plain 'Language'}, {pandoc.Plain 'compiled/interpreted'}},
+ {
+ {{pandoc.Plain 'Haskell'}, {pandoc.Plain 'both'}},
+ {{pandoc.Plain 'Lua'}, {pandoc.Plain 'interpreted'}}
+ }
+ )
+ assert.are_same(expected_table, new_table)
+ end)
+ }
+ },
group 'clone' {
test('clones Attr', function ()