diff options
author | Albert Krewinkel <albert@zeitkraut.de> | 2017-08-22 22:02:30 +0200 |
---|---|---|
committer | Albert Krewinkel <albert@zeitkraut.de> | 2017-08-22 22:56:51 +0200 |
commit | 56fb854ad85dafff2016892bd6d2c5d24423bff0 (patch) | |
tree | 277c4b145c306bc931466b81b4648df51fea274e /test/Tests | |
parent | 915f201c785b776a24d4aafd0fce0bd8151c1ee2 (diff) | |
download | pandoc-56fb854ad85dafff2016892bd6d2c5d24423bff0.tar.gz |
Text.Pandoc.Lua: respect metatable when getting filters
This change makes it possible to define a catch-all function using lua's
metatable lookup functionality.
function catch_all(el)
…
end
return {
setmetatable({}, {__index = function(_) return catch_all end})
}
A further effect of this change is that the map with filter functions
now only contains functions corresponding to AST element constructors.
Diffstat (limited to 'test/Tests')
-rw-r--r-- | test/Tests/Lua.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/test/Tests/Lua.hs b/test/Tests/Lua.hs index 895b93775..06f100048 100644 --- a/test/Tests/Lua.hs +++ b/test/Tests/Lua.hs @@ -64,6 +64,12 @@ tests = map (localOption (QuickCheckTests 20)) "single-to-double-quoted.lua" (doc . para . singleQuoted $ str "simple") (doc . para . doubleQuoted $ str "simple") + + , testCase "Count inlines via metatable catch-all" $ + assertFilterConversion "filtering with metatable catch-all failed" + "metatable-catch-all.lua" + (doc . para $ "four words, three spaces") + (doc . para $ str "7") ] assertFilterConversion :: String -> FilePath -> Pandoc -> Pandoc -> Assertion |