mirror of
https://github.com/fergalmoran/picard.git
synced 2025-12-25 10:48:18 +00:00
script_function_documentation(): returns function doc in wanted format, add tests
This commit is contained in:
committed by
Philipp Wolfer
parent
e94692eaef
commit
a7680bf75e
@@ -46,12 +46,14 @@ from picard.script import (
|
||||
ScriptError,
|
||||
ScriptExpression,
|
||||
ScriptFunction,
|
||||
ScriptFunctionDocError,
|
||||
ScriptParser,
|
||||
ScriptRuntimeError,
|
||||
ScriptSyntaxError,
|
||||
ScriptUnknownFunction,
|
||||
register_script_function,
|
||||
script_function,
|
||||
script_function_documentation,
|
||||
)
|
||||
|
||||
|
||||
@@ -174,6 +176,23 @@ class ScriptParserTest(PicardTestCase):
|
||||
return arg.eval(parser)
|
||||
self.assertScriptResultEquals("$somefunc($title(x))", "X")
|
||||
|
||||
def test_script_function_documentation(self):
|
||||
# test decorator documentation
|
||||
markdown = '`$somefunc()`'
|
||||
@script_function(documentation=markdown)
|
||||
def func_somefunc(parser):
|
||||
return "x"
|
||||
doc = script_function_documentation('somefunc', 'markdown')
|
||||
self.assertEqual(doc, markdown)
|
||||
doc = script_function_documentation('somefunc', 'html')
|
||||
self.assertEqual(doc, '<p><code>$somefunc()</code></p>')
|
||||
areg = r"^no such function: unknownfunc"
|
||||
with self.assertRaisesRegex(ScriptFunctionDocError, areg):
|
||||
script_function_documentation('unknownfunc', 'html')
|
||||
areg = r"^no such documentation format: unknownformat"
|
||||
with self.assertRaisesRegex(ScriptFunctionDocError, areg):
|
||||
script_function_documentation('somefunc', 'unknownformat')
|
||||
|
||||
def test_unknown_function(self):
|
||||
areg = r"^\d+:\d+:\$unknownfunction: Unknown function '\$unknownfunction'"
|
||||
with self.assertRaisesRegex(ScriptError, areg):
|
||||
|
||||
Reference in New Issue
Block a user