From 5a863133876879ea8f52f0ffed401b0da9fc7ce7 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 24 Feb 2012 15:07:08 -0800 Subject: [PATCH] rustdoc: Write markdown for native mods and fns --- src/rustdoc/markdown_pass.rs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/rustdoc/markdown_pass.rs b/src/rustdoc/markdown_pass.rs index 425374cbb08b..aaddb9663cbb 100644 --- a/src/rustdoc/markdown_pass.rs +++ b/src/rustdoc/markdown_pass.rs @@ -133,7 +133,7 @@ fn write_mod_contents( for itemtag in doc.items { alt itemtag { doc::modtag(moddoc) { write_mod(ctxt, moddoc) } - doc::nmodtag(_) { fail } + doc::nmodtag(nmoddoc) { write_nmod(ctxt, nmoddoc) } doc::fntag(fndoc) { write_fn(ctxt, fndoc) } doc::consttag(constdoc) { write_const(ctxt, constdoc) } doc::enumtag(enumdoc) { write_enum(ctxt, enumdoc) } @@ -157,6 +157,27 @@ fn should_write_crate_description() { assert str::contains(markdown, "this is the crate"); } +fn write_nmod(ctxt: ctxt, doc: doc::nmoddoc) { + write_brief(ctxt, doc.brief()); + write_desc(ctxt, doc.desc()); + + for fndoc in doc.fns { + write_fn(ctxt, fndoc); + } +} + +#[test] +fn should_write_native_mods() { + let markdown = test::render("#[doc = \"test\"] native mod a { }"); + assert str::contains(markdown, "test"); +} + +#[test] +fn should_write_native_fns() { + let markdown = test::render("native mod a { #[doc = \"test\"] fn a(); }"); + assert str::contains(markdown, "test"); +} + fn write_fn( ctxt: ctxt, doc: doc::fndoc