diff options
| author | Zan Anderle <zan.anderle@gmail.com> | 2014-10-30 20:45:01 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-09-07 15:07:39 -0400 |
| commit | f3dc173240d2a91c831b08dd6820e1d83322f3da (patch) | |
| tree | 99567a09fd1818664a81f97b2491b9f43002df1a /tests/utils_tests | |
| parent | 3c5862ccb0fc77418c3b20c21c6b57c40b483464 (diff) | |
Fixed #24917 -- Made admindocs display model methods that take arguments.
Diffstat (limited to 'tests/utils_tests')
| -rw-r--r-- | tests/utils_tests/test_inspect.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/utils_tests/test_inspect.py b/tests/utils_tests/test_inspect.py new file mode 100644 index 0000000000..88a9fb0d74 --- /dev/null +++ b/tests/utils_tests/test_inspect.py @@ -0,0 +1,35 @@ +import unittest + +from django.utils import inspect + + +class Person(object): + def no_arguments(self): + return None + + def one_argument(self, something): + return something + + def just_args(self, *args): + return args + + def all_kinds(self, name, address='home', age=25, *args, **kwargs): + return kwargs + + +class TestInspectMethods(unittest.TestCase): + def test_get_func_full_args_no_arguments(self): + self.assertEqual(inspect.get_func_full_args(Person.no_arguments), []) + + def test_get_func_full_args_one_argument(self): + self.assertEqual(inspect.get_func_full_args(Person.one_argument), [('something',)]) + + def test_get_func_full_args_all_arguments(self): + arguments = [('name',), ('address', 'home'), ('age', 25), ('*args',), ('**kwargs',)] + self.assertEqual(inspect.get_func_full_args(Person.all_kinds), arguments) + + def test_func_accepts_var_args_has_var_args(self): + self.assertEqual(inspect.func_accepts_var_args(Person.just_args), True) + + def test_func_accepts_var_args_no_var_args(self): + self.assertEqual(inspect.func_accepts_var_args(Person.one_argument), False) |
