@@ -131,6 +131,13 @@ fn write_fn(
131
131
132
132
#[ cfg( test) ]
133
133
mod tests {
134
+ fn render ( source : str ) -> str {
135
+ let srv = astsrv:: mk_srv_from_str ( source) ;
136
+ let doc = extract:: from_srv ( srv, "" ) ;
137
+ let doc = attr_pass:: mk_pass ( ) ( srv, doc) ;
138
+ write_markdown_str ( doc)
139
+ }
140
+
134
141
fn write_markdown_str (
135
142
doc : doc:: cratedoc
136
143
) -> str {
@@ -142,57 +149,40 @@ mod tests {
142
149
143
150
#[ test]
144
151
fn write_markdown_should_write_crate_header ( ) {
145
- let source = "" ;
146
- let ast = parse :: from_str ( source ) ;
147
- let doc = extract :: extract ( ast , "belch" ) ;
152
+ let srv = astsrv :: mk_srv_from_str ( "" ) ;
153
+ let doc = extract :: from_srv ( srv , "belch" ) ;
154
+ let doc = attr_pass :: mk_pass ( ) ( srv , doc ) ;
148
155
let markdown = write_markdown_str ( doc) ;
149
156
assert str:: contains ( markdown, "# Crate belch" ) ;
150
157
}
151
158
152
159
#[ test]
153
160
fn write_markdown_should_write_function_header ( ) {
154
- let source = "fn func() { }" ;
155
- let ast = parse:: from_str ( source) ;
156
- let doc = extract:: extract ( ast, "" ) ;
157
- let markdown = write_markdown_str ( doc) ;
161
+ let markdown = render ( "fn func() { }" ) ;
158
162
assert str:: contains ( markdown, "## Function `func`" ) ;
159
163
}
160
164
161
165
#[ test]
162
166
fn write_markdown_should_write_mod_headers ( ) {
163
- let source = "mod moo { }" ;
164
- let ast = parse:: from_str ( source) ;
165
- let doc = extract:: extract ( ast, "" ) ;
166
- let markdown = write_markdown_str ( doc) ;
167
+ let markdown = render ( "mod moo { }" ) ;
167
168
assert str:: contains ( markdown, "## Module `moo`" ) ;
168
169
}
169
170
170
171
#[ test]
171
172
fn should_leave_blank_line_after_header ( ) {
172
- let source = "mod morp { }" ;
173
- let ast = parse:: from_str ( source) ;
174
- let doc = extract:: extract ( ast, "" ) ;
175
- let markdown = write_markdown_str ( doc) ;
173
+ let markdown = render ( "mod morp { }" ) ;
176
174
assert str:: contains ( markdown, "Module `morp`\n \n " ) ;
177
175
}
178
176
179
177
#[ test]
180
178
fn should_leave_blank_line_between_fn_header_and_brief ( ) {
181
- let source = "#[doc(brief = \" brief\" )] fn a() { }" ;
182
- let srv = astsrv:: mk_srv_from_str ( source) ;
183
- let doc = extract:: from_srv ( srv, "" ) ;
184
- let doc = attr_pass:: mk_pass ( ) ( srv, doc) ;
185
- let markdown = write_markdown_str ( doc) ;
179
+ let markdown = render ( "#[doc(brief = \" brief\" )] fn a() { }" ) ;
186
180
assert str:: contains ( markdown, "Function `a`\n \n brief" ) ;
187
181
}
188
182
189
183
#[ test]
190
184
fn should_leve_blank_line_after_brief ( ) {
191
- let source = "#[doc(brief = \" brief\" )] fn a() { }" ;
192
- let srv = astsrv:: mk_srv_from_str ( source) ;
193
- let doc = extract:: from_srv ( srv, "" ) ;
194
- let doc = attr_pass:: mk_pass ( ) ( srv, doc) ;
195
- let markdown = write_markdown_str ( doc) ;
185
+ let markdown = render ( "#[doc(brief = \" brief\" )] fn a() { }" ) ;
196
186
assert str:: contains ( markdown, "brief\n \n " ) ;
197
187
}
198
188
}
0 commit comments