File tree Expand file tree Collapse file tree 2 files changed +13
-28
lines changed Expand file tree Collapse file tree 2 files changed +13
-28
lines changed Original file line number Diff line number Diff line change 24
24
class TestWarningStream :
25
25
def setup (self ):
26
26
self .stream = check ._WarningStream ()
27
- self .stream .output = pretend .stub (
28
- write = pretend .call_recorder (lambda a : None ),
29
- getvalue = lambda : "result" ,
30
- )
31
27
32
28
def test_write_match (self ):
33
29
self .stream .write ("<string>:2: (WARNING/2) Title underline too short." )
34
-
35
- assert self .stream .output .write .calls == [
36
- pretend .call ("line 2: Warning: Title underline too short.\n " )
37
- ]
30
+ assert self .stream .getvalue () == "line 2: Warning: Title underline too short.\n "
38
31
39
32
def test_write_nomatch (self ):
40
33
self .stream .write ("this does not match" )
41
-
42
- assert self .stream .output .write .calls == [pretend .call ("this does not match" )]
34
+ assert self .stream .getvalue () == "this does not match"
43
35
44
36
def test_str_representation (self ):
45
- assert str (self .stream ) == "result"
37
+ self .stream .write ("<string>:2: (WARNING/2) Title underline too short." )
38
+ assert str (self .stream ) == "line 2: Warning: Title underline too short."
46
39
47
40
48
41
def test_check_no_distributions (monkeypatch , caplog ):
Original file line number Diff line number Diff line change 48
48
)
49
49
50
50
51
- class _WarningStream :
52
- def __init__ (self ) -> None :
53
- self .output = io .StringIO ()
54
-
55
- def write (self , text : str ) -> None :
51
+ class _WarningStream (io .StringIO ):
52
+ def write (self , text : str ) -> int :
56
53
matched = _REPORT_RE .search (text )
54
+ if matched :
55
+ line = matched .group ("line" )
56
+ level_text = matched .group ("level" ).capitalize ()
57
+ message = matched .group ("message" ).rstrip ("\r \n " )
58
+ text = f"line { line } : { level_text } : { message } \n "
57
59
58
- if not matched :
59
- self .output .write (text )
60
- return
61
-
62
- self .output .write (
63
- "line {line}: {level_text}: {message}\n " .format (
64
- level_text = matched .group ("level" ).capitalize (),
65
- line = matched .group ("line" ),
66
- message = matched .group ("message" ).rstrip ("\r \n " ),
67
- )
68
- )
60
+ return super ().write (text )
69
61
70
62
def __str__ (self ) -> str :
71
- return self .output . getvalue ().strip ()
63
+ return self .getvalue ().strip ()
72
64
73
65
74
66
def _check_file (
You can’t perform that action at this time.
0 commit comments