about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-01-16 00:33:36 -0800
committerBrian Anderson <banderson@mozilla.com>2012-01-16 01:07:42 -0800
commitd928952191bbdaec8f8dcf6ce9803d9f11aa4f5b (patch)
treec3cc1dcbf7cd63b1df0e52cb8c69e8645435d395 /src
parentae584263da8139c35d15a26e588eace2d7513808 (diff)
downloadrust-d928952191bbdaec8f8dcf6ce9803d9f11aa4f5b.tar.gz
rust-d928952191bbdaec8f8dcf6ce9803d9f11aa4f5b.zip
rustdoc: Write crate name
Diffstat (limited to 'src')
-rw-r--r--src/rustdoc/gen.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/rustdoc/gen.rs b/src/rustdoc/gen.rs
index b6197880dcf..2a66bfe8d4c 100644
--- a/src/rustdoc/gen.rs
+++ b/src/rustdoc/gen.rs
@@ -3,6 +3,19 @@ type ctxt = {
     w: io::writer
 };
 
+fn write_markdown(
+    doc: doc::cratedoc,
+    _crate: @ast::crate,
+    writer: io::writer
+) {
+    let ctxt = {
+        ps: pprust::rust_printer(writer),
+        w: writer
+    };
+
+    write_header(ctxt, doc.topmod.name);
+}
+
 #[doc(
   brief = "Generate a crate document header.",
   args(rd = "Rustdoc context",
@@ -46,3 +59,25 @@ fn write_fndoc(ctxt: ctxt, ident: str, doc: doc::fndoc, decl: ast::fn_decl) {
         none. { }
     }
 }
+
+#[cfg(test)]
+mod tests {
+    fn write_markdown_str(
+        doc: doc::cratedoc,
+        crate: @ast::crate
+    ) -> str {
+        let buffer = io::mk_mem_buffer();
+        let writer = io::mem_buffer_writer(buffer);
+        write_markdown(doc, crate, writer);
+        ret io::mem_buffer_str(buffer);
+    }
+
+    #[test]
+    fn write_markdown_should_write_crate_header() {
+        let source = "";
+        let ast = parse::from_str(source);
+        let doc = extract::extract(ast, "belch");
+        let markdown = write_markdown_str(doc, ast);
+        assert str::contains(markdown, "# Crate belch\n");
+    }
+}
\ No newline at end of file