rustdoc: Refactor tests

This commit is contained in:
Brian Anderson 2012-01-31 18:32:37 -08:00
parent 496205c85f
commit fee9037765
8 changed files with 246 additions and 530 deletions

View file

@ -60,10 +60,7 @@ fn get_fn_sig(srv: astsrv::srv, fn_id: doc::ast_id) -> option<str> {
#[test]
fn should_add_fn_sig() {
let source = "fn a() -> int { }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("fn a() -> int { }");
assert doc.topmod.fns()[0].sig == some("fn a() -> int");
}
@ -107,19 +104,13 @@ fn ret_ty_to_str(decl: ast::fn_decl) -> option<str> {
#[test]
fn should_add_fn_ret_types() {
let source = "fn a() -> int { }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("fn a() -> int { }");
assert doc.topmod.fns()[0].return.ty == some("int");
}
#[test]
fn should_not_add_nil_ret_type() {
let source = "fn a() { }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("fn a() { }");
assert doc.topmod.fns()[0].return.ty == none;
}
@ -165,10 +156,7 @@ fn decl_arg_tys(decl: ast::fn_decl) -> [(str, str)] {
#[test]
fn should_add_arg_types() {
let source = "fn a(b: int, c: bool) { }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("fn a(b: int, c: bool) { }");
let fn_ = doc.topmod.fns()[0];
assert fn_.args[0].ty == some("int");
assert fn_.args[1].ty == some("bool");
@ -199,10 +187,7 @@ fn fold_const(
#[test]
fn should_add_const_types() {
let source = "const a: bool = true;";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("const a: bool = true;");
assert doc.topmod.consts()[0].ty == some("bool");
}
@ -241,10 +226,7 @@ fn fold_enum(
#[test]
fn should_add_variant_sigs() {
let source = "enum a { b(int) }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("enum a { b(int) }");
assert doc.topmod.enums()[0].variants[0].sig == some("b(int)");
}
@ -272,19 +254,13 @@ fn fold_res(
#[test]
fn should_add_resource_sigs() {
let source = "resource r(b: bool) { }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("resource r(b: bool) { }");
assert doc.topmod.resources()[0].sig == some("resource r(b: bool)");
}
#[test]
fn should_add_resource_arg_tys() {
let source = "resource r(a: bool) { }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("resource r(a: bool) { }");
assert doc.topmod.resources()[0].args[0].ty == some("bool");
}
@ -464,37 +440,25 @@ fn get_method_arg_tys(
#[test]
fn should_add_iface_method_sigs() {
let source = "iface i { fn a() -> int; }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("iface i { fn a() -> int; }");
assert doc.topmod.ifaces()[0].methods[0].sig == some("fn a() -> int");
}
#[test]
fn should_add_iface_method_ret_types() {
let source = "iface i { fn a() -> int; }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("iface i { fn a() -> int; }");
assert doc.topmod.ifaces()[0].methods[0].return.ty == some("int");
}
#[test]
fn should_not_add_iface_method_nil_ret_type() {
let source = "iface i { fn a(); }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("iface i { fn a(); }");
assert doc.topmod.ifaces()[0].methods[0].return.ty == none;
}
#[test]
fn should_add_iface_method_arg_types() {
let source = "iface i { fn a(b: int, c: bool); }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("iface i { fn a(b: int, c: bool); }");
let fn_ = doc.topmod.ifaces()[0].methods[0];
assert fn_.args[0].ty == some("int");
assert fn_.args[1].ty == some("bool");
@ -531,65 +495,53 @@ fn fold_impl(
#[test]
fn should_add_impl_iface_ty() {
let source = "impl i of j for int { fn a() { } }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("impl i of j for int { fn a() { } }");
assert doc.topmod.impls()[0].iface_ty == some("j");
}
#[test]
fn should_not_add_impl_iface_ty_if_none() {
let source = "impl i for int { fn a() { } }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("impl i for int { fn a() { } }");
assert doc.topmod.impls()[0].iface_ty == none;
}
#[test]
fn should_add_impl_self_ty() {
let source = "impl i for int { fn a() { } }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("impl i for int { fn a() { } }");
assert doc.topmod.impls()[0].self_ty == some("int");
}
#[test]
fn should_add_impl_method_sigs() {
let source = "impl i for int { fn a() -> int { fail } }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("impl i for int { fn a() -> int { fail } }");
assert doc.topmod.impls()[0].methods[0].sig == some("fn a() -> int");
}
#[test]
fn should_add_impl_method_ret_types() {
let source = "impl i for int { fn a() -> int { fail } }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("impl i for int { fn a() -> int { fail } }");
assert doc.topmod.impls()[0].methods[0].return.ty == some("int");
}
#[test]
fn should_not_add_impl_method_nil_ret_type() {
let source = "impl i for int { fn a() { } }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("impl i for int { fn a() { } }");
assert doc.topmod.impls()[0].methods[0].return.ty == none;
}
#[test]
fn should_add_impl_method_arg_types() {
let source = "impl i for int { fn a(b: int, c: bool) { } }";
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
let doc = run(srv, doc);
let doc = test::mk_doc("impl i for int { fn a(b: int, c: bool) { } }");
let fn_ = doc.topmod.impls()[0].methods[0];
assert fn_.args[0].ty == some("int");
assert fn_.args[1].ty == some("bool");
}
#[cfg(test)]
mod test {
fn mk_doc(source: str) -> doc::cratedoc {
let srv = astsrv::mk_srv_from_str(source);
let doc = extract::from_srv(srv, "");
run(srv, doc)
}
}