@@ -127,11 +127,39 @@ fn write_args(
127
127
ctxt : ctxt ,
128
128
args : [ doc:: argdoc ]
129
129
) {
130
- for arg in args {
131
- ctxt. w . write_str ( "### Argument `" + arg. name + "`: " ) ;
130
+ if vec:: is_not_empty ( args) {
131
+ ctxt. w . write_line ( "Arguments:" ) ;
132
+ ctxt. w . write_line ( "" ) ;
133
+ vec:: iter ( args) { |arg| write_arg ( ctxt, arg) } ;
134
+ ctxt. w . write_line ( "" ) ;
132
135
}
133
136
}
134
137
138
+ fn write_arg ( ctxt : ctxt , arg : doc:: argdoc ) {
139
+ ctxt. w . write_line ( #fmt ( "* %s" , arg. name ) ) ;
140
+ }
141
+
142
+ #[ test]
143
+ fn should_write_argument_list ( ) {
144
+ let source = "fn a(b: int, c: int) { }" ;
145
+ let markdown = test:: render ( source) ;
146
+ assert str:: contains (
147
+ markdown,
148
+ "Arguments:\n \
149
+ \n \
150
+ * b\n \
151
+ * c\n \
152
+ \n "
153
+ ) ;
154
+ }
155
+
156
+ #[ test]
157
+ fn should_not_write_arguments_if_none ( ) {
158
+ let source = "fn a() { } fn b() { }" ;
159
+ let markdown = test:: render ( source) ;
160
+ assert !str:: contains ( markdown, "Arguments" ) ;
161
+ }
162
+
135
163
fn write_return (
136
164
ctxt : ctxt ,
137
165
return : option < doc:: retdoc >
@@ -157,13 +185,15 @@ fn write_return(
157
185
}
158
186
159
187
#[ cfg( test) ]
160
- mod tests {
188
+ mod test {
161
189
fn render ( source : str ) -> str {
162
190
let srv = astsrv:: mk_srv_from_str ( source) ;
163
191
let doc = extract:: from_srv ( srv, "" ) ;
164
192
let doc = attr_pass:: mk_pass ( ) ( srv, doc) ;
165
193
let doc = tystr_pass:: mk_pass ( ) ( srv, doc) ;
166
- write_markdown_str ( doc)
194
+ let markdown = write_markdown_str ( doc) ;
195
+ #debug ( "markdown: %s" , markdown) ;
196
+ markdown
167
197
}
168
198
169
199
fn write_markdown_str (
0 commit comments