1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
"""Unittest for the BaseChecker class."""
import unittest
from pylint.checkers import BaseChecker
class TestBaseChecker(unittest.TestCase):
def test_doc(self) -> None:
class OtherBasicChecker(BaseChecker):
name = "basic"
msgs = {
"W0001": (
"Basic checker has an example.",
"basic-checker-example",
"Used nowhere and serves no purpose.",
)
}
class LessBasicChecker(OtherBasicChecker):
options = (
(
"example-args",
{
"default": 42,
"type": "int",
"metavar": "<int>",
"help": "Example of integer argument for the checker.",
},
),
)
basic = OtherBasicChecker()
expected_beginning = """\
Basic checker
~~~~~~~~~~~~~
Verbatim name of the checker is ``basic``.
"""
expected_middle = """\
Basic checker Options
^^^^^^^^^^^^^^^^^^^^^
:example-args:
Example of integer argument for the checker.
Default: ``42``
"""
expected_end = """\
Basic checker Messages
^^^^^^^^^^^^^^^^^^^^^^
:basic-checker-example (W0001): *Basic checker has an example.*
Used nowhere and serves no purpose.
"""
self.assertEqual(str(basic), expected_beginning + expected_end)
self.assertEqual(repr(basic), "Checker 'basic' (responsible for 'W0001')")
less_basic = LessBasicChecker()
self.assertEqual(
str(less_basic), expected_beginning + expected_middle + expected_end
)
self.assertEqual(repr(less_basic), repr(basic))
|