diff options
Diffstat (limited to 'sources/pyside2/tests/pysidetest')
-rw-r--r-- | sources/pyside2/tests/pysidetest/signature_test.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/sources/pyside2/tests/pysidetest/signature_test.py b/sources/pyside2/tests/pysidetest/signature_test.py index 583b793eb..5478f0011 100644 --- a/sources/pyside2/tests/pysidetest/signature_test.py +++ b/sources/pyside2/tests/pysidetest/signature_test.py @@ -55,7 +55,8 @@ all_modules = list("PySide2." + x for x in PySide2.__all__) from PySide2.support.signature import parser, inspect -_do_print = True if os.isatty(sys.stdout.fileno()) else False +_do_print = (True if os.isatty(sys.stdout.fileno()) or "-v" in sys.argv + else False) def dprint(*args, **kw): if _do_print: @@ -84,6 +85,8 @@ def enum_module(mod_name): dprint(" def __init__" + str(signature)) count += 1 class_members = list(klass.__dict__.items()) + have_sig = signature is not None + have_members = 0 for func_name, func in class_members: signature = getattr(func, '__signature__', None) if signature is not None: @@ -94,6 +97,10 @@ def enum_module(mod_name): else: dprint(" def", func_name + str(signature)) count += 1 + have_members = count + if not have_sig and not have_members: + # print at least "pass" + dprint(" pass") return count def enum_all(): @@ -149,5 +156,12 @@ class PySideSignatureTest(unittest.TestCase): def testModuleIsInitialized(self): assert PySide2.QtWidgets.QApplication.__signature__ is not None + def test_NotCalled_is_callable_and_correct(self): + # A signature that has a default value with some "Default(...)" + # wrapper is callable and creates an object of the right type. + sig = PySide2.QtCore.QByteArray().toPercentEncoding.__signature__ + called_default = sig.parameters["exclude"].default() + self.assertEqual(type(called_default), PySide2.QtCore.QByteArray) + if __name__ == "__main__": unittest.main() |