1
1
import os
2
2
3
- from wpiformat . config import Config
3
+ from test . tasktest import *
4
4
from wpiformat .bracecomment import BraceComment
5
5
6
6
7
7
def test_bracecomment ():
8
- task = BraceComment ()
9
-
10
- inputs = []
11
- outputs = []
8
+ test = TaskTest (BraceComment ())
12
9
13
10
# Empty anonymous namespace
14
- inputs . append ( ("./Test.h" ,
11
+ test . add_input ("./Test.h" ,
15
12
"namespace {" + os .linesep + \
16
- "}// comment" + os .linesep ))
17
- outputs . append ( (
13
+ "}// comment" + os .linesep )
14
+ test . add_output (
18
15
"namespace {" + os .linesep + \
19
- "} // namespace" + os .linesep , True , True ))
16
+ "} // namespace" + os .linesep , True , True )
20
17
21
18
# Anonymous namespace containing comment
22
- inputs . append ( ("./Test.h" ,
19
+ test . add_input ("./Test.h" ,
23
20
"namespace {" + os .linesep + \
24
21
" // comment" + os .linesep + \
25
- "}// comment" + os .linesep ))
26
- outputs . append ( (
22
+ "}// comment" + os .linesep )
23
+ test . add_output (
27
24
"namespace {" + os .linesep + \
28
25
" // comment" + os .linesep + \
29
- "} // namespace" + os .linesep , True , True ))
26
+ "} // namespace" + os .linesep , True , True )
30
27
31
28
# namespace
32
- inputs . append ( ("./Test.h" ,
29
+ test . add_input ("./Test.h" ,
33
30
"namespace hal {" + os .linesep + \
34
31
" // comment" + os .linesep + \
35
- "}// comment" + os .linesep ))
36
- outputs . append ( (
32
+ "}// comment" + os .linesep )
33
+ test . add_output (
37
34
"namespace hal {" + os .linesep + \
38
35
" // comment" + os .linesep + \
39
- "} // namespace hal" + os .linesep , True , True ))
36
+ "} // namespace hal" + os .linesep , True , True )
40
37
41
38
# namespace with leftover input
42
- inputs . append ( ("./Test.h" ,
39
+ test . add_input ("./Test.h" ,
43
40
"// comment before namespace" + os .linesep + \
44
41
"namespace hal {" + os .linesep + \
45
42
" // comment" + os .linesep + \
46
43
"}// comment" + os .linesep + \
47
- "// comment after namespace" + os .linesep ))
48
- outputs . append ( (
44
+ "// comment after namespace" + os .linesep )
45
+ test . add_output (
49
46
"// comment before namespace" + os .linesep + \
50
47
"namespace hal {" + os .linesep + \
51
48
" // comment" + os .linesep + \
52
49
"} // namespace hal" + os .linesep + \
53
- "// comment after namespace" + os .linesep , True , True ))
50
+ "// comment after namespace" + os .linesep , True , True )
54
51
55
52
# Braces within namespace
56
- inputs . append ( ("./Test.h" ,
53
+ test . add_input ("./Test.h" ,
57
54
"namespace {" + os .linesep + \
58
55
os .linesep + \
59
56
"struct AnalogGyro {" + os .linesep + \
@@ -63,8 +60,8 @@ def test_bracecomment():
63
60
" int32_t center;" + os .linesep + \
64
61
"}" + os .linesep + \
65
62
os .linesep + \
66
- "}" + os .linesep ))
67
- outputs . append ( (
63
+ "}" + os .linesep )
64
+ test . add_output (
68
65
"namespace {" + os .linesep + \
69
66
os .linesep + \
70
67
"struct AnalogGyro {" + os .linesep + \
@@ -74,76 +71,68 @@ def test_bracecomment():
74
71
" int32_t center;" + os .linesep + \
75
72
"}" + os .linesep + \
76
73
os .linesep + \
77
- "} // namespace" + os .linesep , True , True ))
74
+ "} // namespace" + os .linesep , True , True )
78
75
79
76
# extern "C"
80
- inputs . append ( ("./Test.h" ,
77
+ test . add_input ("./Test.h" ,
81
78
"extern \" C\" {" + os .linesep + \
82
79
" // nothing" + os .linesep + \
83
- "}// comment" + os .linesep ))
84
- outputs . append ( (
80
+ "}// comment" + os .linesep )
81
+ test . add_output (
85
82
"extern \" C\" {" + os .linesep + \
86
83
" // nothing" + os .linesep + \
87
- "} // extern \" C\" " + os .linesep , True , True ))
84
+ "} // extern \" C\" " + os .linesep , True , True )
88
85
89
86
# Nested brackets should be handled properly
90
- inputs . append ( ("./Test.cpp" ,
87
+ test . add_input ("./Test.cpp" ,
91
88
"extern \" C\" {" + os .linesep + \
92
89
"void func() {" + os .linesep + \
93
90
" if (1) {" + os .linesep + \
94
91
" } else if (1) {" + os .linesep + \
95
92
" } else {" + os .linesep + \
96
93
" }" + os .linesep + \
97
94
"}" + os .linesep + \
98
- "} // extern \" C\" " + os .linesep ))
99
- outputs . append (( inputs [ len ( inputs ) - 1 ][ 1 ], False , True ) )
95
+ "} // extern \" C\" " + os .linesep )
96
+ test . add_latest_input_as_output ( True )
100
97
101
98
# Nested brackets on same line
102
- inputs . append ( ("./Test.cpp" ,
99
+ test . add_input ("./Test.cpp" ,
103
100
"namespace wpi {" + os .linesep + \
104
101
"{{}}" + os .linesep + \
105
- "} // namespace java" + os .linesep ))
106
- outputs . append ( (
102
+ "} // namespace java" + os .linesep )
103
+ test . add_output (
107
104
"namespace wpi {" + os .linesep + \
108
105
"{{}}" + os .linesep + \
109
- "} // namespace wpi" + os .linesep , True , True ))
106
+ "} // namespace wpi" + os .linesep , True , True )
110
107
111
108
# Handle single-line statements correctly
112
- inputs . append ( ("./Test.cpp" ,
113
- "namespace hal { Type typeName; }" + os .linesep ))
114
- outputs . append (
115
- ( "namespace hal { Type typeName; } // namespace hal" + os .linesep ,
116
- True , True ) )
109
+ test . add_input ("./Test.cpp" ,
110
+ "namespace hal { Type typeName; }" + os .linesep )
111
+ test . add_output (
112
+ "namespace hal { Type typeName; } // namespace hal" + os .linesep , True ,
113
+ True )
117
114
118
115
# Two incorrect comments
119
- inputs . append ( ("./Test.h" ,
116
+ test . add_input ("./Test.h" ,
120
117
"namespace {" + os .linesep + \
121
118
" // nothing" + os .linesep + \
122
119
"}// comment" + os .linesep + \
123
120
"namespace Name {" + os .linesep + \
124
121
" // nothing" + os .linesep + \
125
- "}" + os .linesep ))
126
- outputs . append ( (
122
+ "}" + os .linesep )
123
+ test . add_output (
127
124
"namespace {" + os .linesep + \
128
125
" // nothing" + os .linesep + \
129
126
"} // namespace" + os .linesep + \
130
127
"namespace Name {" + os .linesep + \
131
128
" // nothing" + os .linesep + \
132
- "} // namespace Name" + os .linesep , True , True ))
129
+ "} // namespace Name" + os .linesep , True , True )
133
130
134
131
# Don't touch correct comment
135
- inputs . append ( ("./Test.h" ,
132
+ test . add_input ("./Test.h" ,
136
133
"namespace {" + os .linesep + \
137
134
" // nothing" + os .linesep + \
138
- "} // namespace" + os .linesep ))
139
- outputs .append ((inputs [len (inputs ) - 1 ][1 ], False , True ))
140
-
141
- assert len (inputs ) == len (outputs )
135
+ "} // namespace" + os .linesep )
136
+ test .add_latest_input_as_output (True )
142
137
143
- config_file = Config (os .path .abspath (os .getcwd ()), ".styleguide" )
144
- for i in range (len (inputs )):
145
- output , file_changed , success = task .run_pipeline (
146
- config_file , inputs [i ][0 ], inputs [i ][1 ])
147
- assert output == outputs [i ][0 ]
148
- assert file_changed == outputs [i ][1 ]
149
- assert success == outputs [i ][2 ]
138
+ test .run (OutputType .FILE )
0 commit comments