about summary refs log tree commit diff
path: root/src/rustdoc
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-02-24 15:07:08 -0800
committerBrian Anderson <banderson@mozilla.com>2012-02-24 15:07:08 -0800
commit5a863133876879ea8f52f0ffed401b0da9fc7ce7 (patch)
tree614f0bac3b2e741c66a81afccdda41ac160be2ec /src/rustdoc
parent16010058a64a8c0f2db064a365550e3dc5b88171 (diff)
downloadrust-5a863133876879ea8f52f0ffed401b0da9fc7ce7.tar.gz
rust-5a863133876879ea8f52f0ffed401b0da9fc7ce7.zip
rustdoc: Write markdown for native mods and fns
Diffstat (limited to 'src/rustdoc')
-rw-r--r--src/rustdoc/markdown_pass.rs23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/rustdoc/markdown_pass.rs b/src/rustdoc/markdown_pass.rs
index 425374cbb08..aaddb9663cb 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