From 2d85e8f59a59233c83889e74e9e41dbf257c91b5 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 17 Jan 2012 23:53:24 -0800 Subject: [PATCH] rustdoc: Improve formatting of return type --- src/rustdoc/gen.rs | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/rustdoc/gen.rs b/src/rustdoc/gen.rs index 56149a42d95..afd06523b9a 100644 --- a/src/rustdoc/gen.rs +++ b/src/rustdoc/gen.rs @@ -141,7 +141,8 @@ fn write_return( some(doc) { alt doc.ty { some(ty) { - ctxt.w.write_line("### Returns `" + ty + "`"); + ctxt.w.write_line(#fmt("Returns `%s`", ty)); + ctxt.w.write_line(""); alt doc.desc { some(d) { ctxt.w.write_line(d); @@ -162,6 +163,7 @@ mod tests { let srv = astsrv::mk_srv_from_str(source); let doc = extract::from_srv(srv, ""); let doc = attr_pass::mk_pass()(srv, doc); + let doc = tystr_pass::mk_pass()(srv, doc); write_markdown_str(doc) } @@ -208,16 +210,31 @@ mod tests { } #[test] - fn should_leve_blank_line_after_brief() { + fn should_leave_blank_line_after_brief() { let markdown = render("#[doc(brief = \"brief\")] fn a() { }"); assert str::contains(markdown, "brief\n\n"); } #[test] - fn should_leve_blank_line_between_brief_and_desc() { + fn should_leave_blank_line_between_brief_and_desc() { let markdown = render( "#[doc(brief = \"brief\", desc = \"desc\")] fn a() { }" ); assert str::contains(markdown, "brief\n\ndesc"); } + + #[test] + fn should_write_return_type_on_new_line() { + let markdown = render("fn a() -> int { }"); + assert str::contains(markdown, "\nReturns `int`"); + } + + #[test] + fn should_write_blank_line_between_return_type_and_next_header() { + let markdown = render( + "fn a() -> int { } \ + fn b() -> int { }" + ); + assert str::contains(markdown, "Returns `int`\n\n##"); + } } \ No newline at end of file