]> git.lizzy.rs Git - rust.git/commitdiff
rustdoc: Write the full path to each mod
authorBrian Anderson <banderson@mozilla.com>
Thu, 19 Jan 2012 08:03:45 +0000 (00:03 -0800)
committerBrian Anderson <banderson@mozilla.com>
Thu, 19 Jan 2012 08:04:59 +0000 (00:04 -0800)
src/rustdoc/gen.rs

index 6c42c476b2f517cc061bad942bf8bd80bf11fbd6..8a7d389865abf76c35bba20094ca25eccfdfb2fe 100644 (file)
@@ -63,10 +63,17 @@ fn write_mod(
     ctxt: ctxt,
     moddoc: doc::moddoc
 ) {
-    write_header(ctxt, h2, #fmt("Module `%s`", moddoc.name));
+    let fullpath = str::connect(moddoc.path + [moddoc.name], "::");
+    write_header(ctxt, h2, #fmt("Module `%s`", fullpath));
     write_mod_contents(ctxt, moddoc);
 }
 
+#[test]
+fn should_write_full_path_to_mod() {
+    let markdown = test::render("mod a { mod b { mod c { } } }");
+    assert str::contains(markdown, "## Module `a::b::c`");
+}
+
 fn write_mod_contents(
     ctxt: ctxt,
     doc: doc::moddoc
@@ -238,6 +245,7 @@ mod test {
     fn render(source: str) -> str {
         let srv = astsrv::mk_srv_from_str(source);
         let doc = extract::from_srv(srv, "");
+        let doc = path_pass::mk_pass()(srv, doc);
         let doc = attr_pass::mk_pass()(srv, doc);
         let doc = tystr_pass::mk_pass()(srv, doc);
         let markdown = write_markdown_str(doc);