@@ -56,105 +56,111 @@ pub fn record<I>(input: State<I>) -> ParseResult<LCOVRecord, State<I>> where I:
56
56
#[ cfg( test) ]
57
57
mod tests {
58
58
use super :: * ;
59
- use combine:: { parser, Parser } ;
59
+ use combine:: { parser, Parser , State } ;
60
60
use record:: { LCOVRecord , LineData , FunctionName , FunctionData , BranchData } ;
61
61
62
+ fn parse_record ( input : & str ) -> LCOVRecord {
63
+ let input = State :: new ( input) ;
64
+ let ( result, _) = parser ( record) . parse ( input) . unwrap ( ) ;
65
+ result
66
+ }
67
+
62
68
#[ test]
63
69
fn test_name ( ) {
64
- let result = parser ( record ) . parse ( "TN:test_name\n " ) ;
65
- assert_eq ! ( result . unwrap ( ) , ( LCOVRecord :: TestName ( Some ( "test_name" . to_string( ) ) ) , "" ) ) ;
70
+ let with_testname = parse_record ( "TN:test_name\n " ) ;
71
+ assert_eq ! ( with_testname , LCOVRecord :: TestName ( Some ( "test_name" . to_string( ) ) ) ) ;
66
72
67
- let result = parser ( record ) . parse ( "TN:\n " ) ;
68
- assert_eq ! ( result . unwrap ( ) , ( LCOVRecord :: TestName ( None ) , "" ) ) ;
73
+ let without_testname = parse_record ( "TN:\n " ) ;
74
+ assert_eq ! ( without_testname , LCOVRecord :: TestName ( None ) ) ;
69
75
}
70
76
71
77
#[ test]
72
78
fn source_file ( ) {
73
- let result = parser ( record ) . parse ( "SF:/path/to/source.rs\n " ) ;
74
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: SourceFile ( "/path/to/source.rs" . to_string( ) ) , "" ) ) ;
79
+ let result = parse_record ( "SF:/path/to/source.rs\n " ) ;
80
+ assert_eq ! ( result, LCOVRecord :: SourceFile ( "/path/to/source.rs" . to_string( ) ) ) ;
75
81
}
76
82
77
83
#[ test]
78
84
fn data ( ) {
79
- let result = parser ( record ) . parse ( "DA:1,2\n " ) ;
85
+ let result = parse_record ( "DA:1,2\n " ) ;
80
86
let line = LineData { line : 1 , count : 2 , checksum : None } ;
81
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: Data ( line) , "" ) ) ;
87
+ assert_eq ! ( result, LCOVRecord :: Data ( line) ) ;
82
88
}
83
89
84
90
#[ test]
85
91
fn data_with_checksum ( ) {
86
- let result = parser ( record ) . parse ( "DA:1,2,3sdfjiji56\n " ) ;
92
+ let result = parse_record ( "DA:1,2,3sdfjiji56\n " ) ;
87
93
let line = LineData { line : 1 , count : 2 , checksum : Some ( "3sdfjiji56" . to_string ( ) ) } ;
88
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: Data ( line) , "" ) ) ;
94
+ assert_eq ! ( result, LCOVRecord :: Data ( line) ) ;
89
95
}
90
96
91
97
#[ test]
92
98
fn function_name ( ) {
93
- let result = parser ( record ) . parse ( "FN:5,main\n " ) ;
99
+ let result = parse_record ( "FN:5,main\n " ) ;
94
100
let func = FunctionName { name : "main" . to_string ( ) , line : 5 } ;
95
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: FunctionName ( func) , "" ) ) ;
101
+ assert_eq ! ( result, LCOVRecord :: FunctionName ( func) ) ;
96
102
}
97
103
98
104
#[ test]
99
105
fn function_data ( ) {
100
- let result = parser ( record ) . parse ( "FNDA:5,main\n " ) ;
106
+ let result = parse_record ( "FNDA:5,main\n " ) ;
101
107
let func_data = FunctionData { name : "main" . to_string ( ) , count : 5 } ;
102
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: FunctionData ( func_data) , "" ) ) ;
108
+ assert_eq ! ( result, LCOVRecord :: FunctionData ( func_data) ) ;
103
109
}
104
110
105
111
#[ test]
106
112
fn functions_found ( ) {
107
- let result = parser ( record ) . parse ( "FNF:10\n " ) ;
108
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: FunctionsFound ( 10 ) , "" ) ) ;
113
+ let result = parse_record ( "FNF:10\n " ) ;
114
+ assert_eq ! ( result, LCOVRecord :: FunctionsFound ( 10 ) ) ;
109
115
}
110
116
111
117
#[ test]
112
118
fn functions_hit ( ) {
113
- let result = parser ( record ) . parse ( "FNH:10\n " ) ;
114
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: FunctionsHit ( 10 ) , "" ) ) ;
119
+ let result = parse_record ( "FNH:10\n " ) ;
120
+ assert_eq ! ( result, LCOVRecord :: FunctionsHit ( 10 ) ) ;
115
121
}
116
122
117
123
#[ test]
118
124
fn lines_hit ( ) {
119
- let result = parser ( record ) . parse ( "LH:5\n " ) ;
120
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: LinesHit ( 5 ) , "" ) ) ;
125
+ let result = parse_record ( "LH:5\n " ) ;
126
+ assert_eq ! ( result, LCOVRecord :: LinesHit ( 5 ) ) ;
121
127
}
122
128
123
129
#[ test]
124
130
fn lines_found ( ) {
125
- let result = parser ( record ) . parse ( "LF:10\n " ) ;
126
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: LinesFound ( 10 ) , "" ) ) ;
131
+ let result = parse_record ( "LF:10\n " ) ;
132
+ assert_eq ! ( result, LCOVRecord :: LinesFound ( 10 ) ) ;
127
133
}
128
134
129
135
#[ test]
130
136
fn branch_data ( ) {
137
+ let result = parse_record ( "BRDA:1,2,3,-\n " ) ;
131
138
let branch = BranchData { line : 1 , block : 2 , branch : 3 , taken : 0 } ;
132
- let result = parser ( record) . parse ( "BRDA:1,2,3,-\n " ) ;
133
- assert_eq ! ( result. unwrap( ) , ( LCOVRecord :: BranchData ( branch) , "" ) ) ;
139
+ assert_eq ! ( result, LCOVRecord :: BranchData ( branch) ) ;
134
140
}
135
141
136
142
#[ test]
137
143
fn branch_data_with_branch_times ( ) {
144
+ let result = parse_record ( "BRDA:1,2,3,4\n " ) ;
138
145
let branch = BranchData { line : 1 , block : 2 , branch : 3 , taken : 4 } ;
139
- let result = parser ( record) . parse ( "BRDA:1,2,3,4\n " ) ;
140
- assert_eq ! ( result. unwrap( ) , ( LCOVRecord :: BranchData ( branch) , "" ) ) ;
146
+ assert_eq ! ( result, LCOVRecord :: BranchData ( branch) ) ;
141
147
}
142
148
143
149
#[ test]
144
150
fn branches_found ( ) {
145
- let result = parser ( record ) . parse ( "BRF:10\n " ) ;
146
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: BranchesFound ( 10 ) , "" ) ) ;
151
+ let result = parse_record ( "BRF:10\n " ) ;
152
+ assert_eq ! ( result, LCOVRecord :: BranchesFound ( 10 ) ) ;
147
153
}
148
154
149
155
#[ test]
150
156
fn branches_hit ( ) {
151
- let result = parser ( record ) . parse ( "BRH:10\n " ) ;
152
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: BranchesHit ( 10 ) , "" ) ) ;
157
+ let result = parse_record ( "BRH:10\n " ) ;
158
+ assert_eq ! ( result, LCOVRecord :: BranchesHit ( 10 ) ) ;
153
159
}
154
160
155
161
#[ test]
156
162
fn end_of_record ( ) {
157
- let result = parser ( record ) . parse ( "end_of_record\n " ) ;
158
- assert_eq ! ( result. unwrap ( ) , ( LCOVRecord :: EndOfRecord , "" ) ) ;
163
+ let result = parse_record ( "end_of_record\n " ) ;
164
+ assert_eq ! ( result, LCOVRecord :: EndOfRecord ) ;
159
165
}
160
166
}
0 commit comments