1
1
"""Docstring."""
2
2
# encoding: utf-8
3
- errors = set ([])
3
+ import sys
4
+
5
+
6
+ expected = set ([])
4
7
5
8
6
9
def expect (* args ):
7
10
"""Decorator that expects a certain PEP 257 violation."""
8
- ignore = lambda a : None
11
+ none = lambda a : None
9
12
if len (args ) == 1 :
10
- return lambda f : errors .add ((f .__name__ , args [0 ])) or ignore (f ()) or f
11
- errors .add (args )
13
+ return lambda f : expected .add ((f .__name__ , args [0 ])) or none (f ()) or f
14
+ expected .add (args )
15
+
16
+
17
+ expect ('class_' , 'D101: Docstring missing' )
12
18
13
19
14
- @expect ('D101: Docstring missing' )
15
20
class class_ :
16
21
17
- @expect ('D101: Docstring missing' )
22
+ expect ('meta' , 'D101: Docstring missing' )
23
+
18
24
class meta :
19
25
""""""
20
26
@@ -70,20 +76,30 @@ def trailing_and_leading_space():
70
76
pass
71
77
72
78
73
- @expect ('D203: Expected 1 blank line *before* class docstring, found 0' )
79
+ expect ('LeadingSpaceMissing' ,
80
+ 'D203: Expected 1 blank line *before* class docstring, found 0' )
81
+
82
+
74
83
class LeadingSpaceMissing :
75
84
"""Leading space missing."""
76
85
77
86
78
- @expect ('D204: Expected 1 blank line *after* class docstring, found 0' )
87
+ expect ('TrailingSpace' ,
88
+ 'D204: Expected 1 blank line *after* class docstring, found 0' )
89
+
90
+
79
91
class TrailingSpace :
80
92
81
93
"""TrailingSpace."""
82
94
pass
83
95
84
96
85
- @expect ('D203: Expected 1 blank line *before* class docstring, found 0' )
86
- @expect ('D204: Expected 1 blank line *after* class docstring, found 0' )
97
+ expect ('LeadingAndTrailingSpaceMissing' ,
98
+ 'D203: Expected 1 blank line *before* class docstring, found 0' )
99
+ expect ('LeadingAndTrailingSpaceMissing' ,
100
+ 'D204: Expected 1 blank line *after* class docstring, found 0' )
101
+
102
+
87
103
class LeadingAndTrailingSpaceMissing :
88
104
"""Leading and trailing space missing."""
89
105
pass
@@ -182,9 +198,10 @@ def lalsksdewnlkjl():
182
198
"""Sum\\ mary."""
183
199
184
200
185
- @expect ('D302: Use u""" for docstrings with Unicode' )
186
- def lasewnlkjl ():
187
- """Юникод."""
201
+ if sys .version_info [0 ] <= 2 :
202
+ @expect ('D302: Use u""" for docstrings with Unicode' )
203
+ def lasewnlkjl ():
204
+ """Юникод."""
188
205
189
206
190
207
@expect ("D400: First line should end with '.', not 'y'" )
@@ -208,6 +225,6 @@ def run():
208
225
results = list (pep257 .check ([__file__ ]))
209
226
assert set (map (type , results )) == set ([pep257 .Error ]), results
210
227
results = set ([(e .definition .name , e .message ) for e in results ])
211
- print ('\n missing : %r' % (results - errors ))
212
- print ('\n extra : %r' % (errors - results ))
213
- assert errors == results
228
+ print ('\n extra : %r' % (results - expected ))
229
+ print ('\n missing : %r' % (expected - results ))
230
+ assert expected == results
0 commit comments