From bffd74323cfd91f5c44ca34e09633247d1d28954 Mon Sep 17 00:00:00 2001 From: Albert Krewinkel Date: Tue, 23 Nov 2021 18:32:53 +0100 Subject: Lua: add function `pandoc.utils.text` (#7710) The function converts a string to `Inlines`, treating interword spaces as `Space`s or `SoftBreak`s. If you want a `Str` with literal spaces, use `pandoc.Str`. Closes: #7709 --- test/lua/module/pandoc-utils.lua | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'test') diff --git a/test/lua/module/pandoc-utils.lua b/test/lua/module/pandoc-utils.lua index 9bd903f2d..21f550177 100644 --- a/test/lua/module/pandoc-utils.lua +++ b/test/lua/module/pandoc-utils.lua @@ -82,6 +82,34 @@ return { end) }, + group 'text' { + test('string is converted to inlines', function () + local expected = { + pandoc.Str 'Madness', pandoc.Space(), pandoc.Str '-', pandoc.Space(), + pandoc.Str 'Our', pandoc.Space(), pandoc.Str 'House' + } + assert.are_same(pandoc.utils.text('Madness - Our House'), expected) + end), + test('tabs are treated as space', function () + local expected = { + pandoc.Str 'Linkin', pandoc.Space(), pandoc.Str 'Park', pandoc.Space(), + pandoc.Str '-', pandoc.Space(), pandoc.Str 'Papercut' + } + assert.are_same(pandoc.utils.text('Linkin Park\t-\tPapercut'), expected) + end), + test('newlines are treated as softbreaks', function () + local expected = { + pandoc.Str 'Porcupine', pandoc.Space(), pandoc.Str 'Tree', + pandoc.SoftBreak(), pandoc.Str '-', pandoc.SoftBreak(), + pandoc.Str 'Blackest', pandoc.Space(), pandoc.Str 'Eyes' + } + assert.are_same( + pandoc.utils.text('Porcupine Tree\n-\nBlackest Eyes'), + expected + ) + end), + }, + group 'to_roman_numeral' { test('convertes number', function () assert.are_equal('MDCCCLXXXVIII', utils.to_roman_numeral(1888)) -- cgit v1.2.3