From b284c841c41a2b41ab748cd5f43b8a916c02d0ff Mon Sep 17 00:00:00 2001 From: Laurent Monin Date: Sun, 8 Mar 2020 15:44:44 +0100 Subject: [PATCH] Also test FunctionRegistryItem() --- test/test_script.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/test_script.py b/test/test_script.py index 1669206e5..0cbe8516e 100644 --- a/test/test_script.py +++ b/test/test_script.py @@ -31,6 +31,7 @@ import copy import datetime +import re from unittest.mock import MagicMock import markdown @@ -44,6 +45,7 @@ from picard.metadata import Metadata from picard.plugin import ExtensionPoint from picard.script import ( MULTI_VALUED_JOINER, + FunctionRegistryItem, MultiValue, ScriptEndOfFile, ScriptError, @@ -125,6 +127,25 @@ class ScriptParserTest(PicardTestCase): "'%s' evaluated to '%s', expected '%s'" % (script, actual, expected)) + def test_function_registry_item(self): + def somefunc(): + return 'x' + item = FunctionRegistryItem(somefunc, 'x', 'y', 'doc') + self.assertEqual(item.function, somefunc) + self.assertEqual(item.eval_args, 'x') + self.assertEqual(item.argcount, 'y') + self.assertEqual(item.documentation, 'doc') + + regex = r'^'\ + + re.escape(r'FunctionRegistryItem(]+'\ + + re.escape(r'>, x, y, """doc""")')\ + + r'$' + + self.assertRegex(repr(item), regex) + def test_script_function_decorator_default(self): # test default decorator and default prefix @script_function()