Skip to content

Commit fee9037

Browse files
committed
rustdoc: Refactor tests
1 parent 496205c commit fee9037

File tree

8 files changed

+246
-530
lines changed

8 files changed

+246
-530
lines changed

src/rustdoc/attr_pass.rs

Lines changed: 61 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,7 @@ fn fold_crate(
5656

5757
#[test]
5858
fn should_replace_top_module_name_with_crate_name() {
59-
let source = "#[link(name = \"bond\")];";
60-
let srv = astsrv::mk_srv_from_str(source);
61-
let doc = extract::from_srv(srv, "");
62-
let fold = fold::default_seq_fold(srv);
63-
let doc = fold_crate(fold, doc);
59+
let doc = test::mk_doc("#[link(name = \"bond\")];");
6460
assert doc.topmod.name == "bond";
6561
}
6662

@@ -106,22 +102,14 @@ fn fold_mod(fold: fold::fold<astsrv::srv>, doc: doc::moddoc) -> doc::moddoc {
106102

107103
#[test]
108104
fn fold_mod_should_extract_mod_attributes() {
109-
let source = "#[doc = \"test\"] mod a { }";
110-
let srv = astsrv::mk_srv_from_str(source);
111-
let doc = extract::from_srv(srv, "");
112-
let fold = fold::default_seq_fold(srv);
113-
let doc = fold_mod(fold, doc.topmod.mods()[0]);
114-
assert doc.desc == some("test");
105+
let doc = test::mk_doc("#[doc = \"test\"] mod a { }");
106+
assert doc.topmod.mods()[0].desc == some("test");
115107
}
116108

117109
#[test]
118110
fn fold_mod_should_extract_top_mod_attributes() {
119-
let source = "#[doc = \"test\"];";
120-
let srv = astsrv::mk_srv_from_str(source);
121-
let doc = extract::from_srv(srv, "");
122-
let fold = fold::default_seq_fold(srv);
123-
let doc = fold_mod(fold, doc.topmod);
124-
assert doc.desc == some("test");
111+
let doc = test::mk_doc("#[doc = \"test\"];");
112+
assert doc.topmod.desc == some("test");
125113
}
126114

127115
fn fold_fn(
@@ -182,22 +170,14 @@ fn merge_ret_attrs(
182170

183171
#[test]
184172
fn fold_fn_should_extract_fn_attributes() {
185-
let source = "#[doc = \"test\"] fn a() -> int { }";
186-
let srv = astsrv::mk_srv_from_str(source);
187-
let doc = extract::from_srv(srv, "");
188-
let fold = fold::default_seq_fold(srv);
189-
let doc = fold_fn(fold, doc.topmod.fns()[0]);
190-
assert doc.desc == some("test");
173+
let doc = test::mk_doc("#[doc = \"test\"] fn a() -> int { }");
174+
assert doc.topmod.fns()[0].desc == some("test");
191175
}
192176

193177
#[test]
194178
fn fold_fn_should_extract_arg_attributes() {
195-
let source = "#[doc(args(a = \"b\"))] fn c(a: bool) { }";
196-
let srv = astsrv::mk_srv_from_str(source);
197-
let doc = extract::from_srv(srv, "");
198-
let fold = fold::default_seq_fold(srv);
199-
let doc = fold_fn(fold, doc.topmod.fns()[0]);
200-
assert doc.args[0].desc == some("b");
179+
let doc = test::mk_doc("#[doc(args(a = \"b\"))] fn c(a: bool) { }");
180+
assert doc.topmod.fns()[0].args[0].desc == some("b");
201181
}
202182

203183
#[test]
@@ -224,12 +204,8 @@ fn fold_fn_should_preserve_sig() {
224204

225205
#[test]
226206
fn fold_fn_should_extract_failure_conditions() {
227-
let source = "#[doc(failure = \"what\")] fn a() { }";
228-
let srv = astsrv::mk_srv_from_str(source);
229-
let doc = extract::from_srv(srv, "");
230-
let fold = fold::default_seq_fold(srv);
231-
let doc = fold_fn(fold, doc.topmod.fns()[0]);
232-
assert doc.failure == some("what");
207+
let doc = test::mk_doc("#[doc(failure = \"what\")] fn a() { }");
208+
assert doc.topmod.fns()[0].failure == some("what");
233209
}
234210

235211
fn fold_const(
@@ -248,14 +224,10 @@ fn fold_const(
248224

249225
#[test]
250226
fn fold_const_should_extract_docs() {
251-
let source = "#[doc(brief = \"foo\", desc = \"bar\")]\
252-
const a: bool = true;";
253-
let srv = astsrv::mk_srv_from_str(source);
254-
let doc = extract::from_srv(srv, "");
255-
let fold = fold::default_seq_fold(srv);
256-
let doc = fold_const(fold, doc.topmod.consts()[0]);
257-
assert doc.brief == some("foo");
258-
assert doc.desc == some("bar");
227+
let doc = test::mk_doc("#[doc(brief = \"foo\", desc = \"bar\")]\
228+
const a: bool = true;");
229+
assert doc.topmod.consts()[0].brief == some("foo");
230+
assert doc.topmod.consts()[0].desc == some("bar");
259231
}
260232

261233
fn fold_enum(
@@ -296,24 +268,16 @@ fn fold_enum(
296268

297269
#[test]
298270
fn fold_enum_should_extract_docs() {
299-
let source = "#[doc(brief = \"a\", desc = \"b\")]\
300-
enum a { v }";
301-
let srv = astsrv::mk_srv_from_str(source);
302-
let doc = extract::from_srv(srv, "");
303-
let fold = fold::default_seq_fold(srv);
304-
let doc = fold_enum(fold, doc.topmod.enums()[0]);
305-
assert doc.brief == some("a");
306-
assert doc.desc == some("b");
271+
let doc = test::mk_doc("#[doc(brief = \"a\", desc = \"b\")]\
272+
enum a { v }");
273+
assert doc.topmod.enums()[0].brief == some("a");
274+
assert doc.topmod.enums()[0].desc == some("b");
307275
}
308276

309277
#[test]
310278
fn fold_enum_should_extract_variant_docs() {
311-
let source = "enum a { #[doc = \"c\"] v }";
312-
let srv = astsrv::mk_srv_from_str(source);
313-
let doc = extract::from_srv(srv, "");
314-
let fold = fold::default_seq_fold(srv);
315-
let doc = fold_enum(fold, doc.topmod.enums()[0]);
316-
assert doc.variants[0].desc == some("c");
279+
let doc = test::mk_doc("enum a { #[doc = \"c\"] v }");
280+
assert doc.topmod.enums()[0].variants[0].desc == some("c");
317281
}
318282

319283
fn fold_res(
@@ -346,26 +310,18 @@ fn fold_res(
346310

347311
#[test]
348312
fn fold_res_should_extract_docs() {
349-
let source = "#[doc(brief = \"a\", desc = \"b\")]\
350-
resource r(b: bool) { }";
351-
let srv = astsrv::mk_srv_from_str(source);
352-
let doc = extract::from_srv(srv, "");
353-
let fold = fold::default_seq_fold(srv);
354-
let doc = fold_res(fold, doc.topmod.resources()[0]);
355-
assert doc.brief == some("a");
356-
assert doc.desc == some("b");
313+
let doc = test::mk_doc("#[doc(brief = \"a\", desc = \"b\")]\
314+
resource r(b: bool) { }");
315+
assert doc.topmod.resources()[0].brief == some("a");
316+
assert doc.topmod.resources()[0].desc == some("b");
357317
}
358318

359319
#[test]
360320
fn fold_res_should_extract_arg_docs() {
361-
let source = "#[doc(args(a = \"b\"))]\
362-
resource r(a: bool) { }";
363-
let srv = astsrv::mk_srv_from_str(source);
364-
let doc = extract::from_srv(srv, "");
365-
let fold = fold::default_seq_fold(srv);
366-
let doc = fold_res(fold, doc.topmod.resources()[0]);
367-
assert doc.args[0].name == "a";
368-
assert doc.args[0].desc == some("b");
321+
let doc = test::mk_doc("#[doc(args(a = \"b\"))]\
322+
resource r(a: bool) { }");
323+
assert doc.topmod.resources()[0].args[0].name == "a";
324+
assert doc.topmod.resources()[0].args[0].desc == some("b");
369325
}
370326

371327
fn fold_iface(
@@ -427,27 +383,22 @@ fn merge_method_attrs(
427383

428384
#[test]
429385
fn should_extract_iface_docs() {
430-
let source = "#[doc = \"whatever\"] iface i { fn a(); }";
431-
let srv = astsrv::mk_srv_from_str(source);
432-
let doc = extract::from_srv(srv, "");
433-
let doc = run(srv, doc);
386+
let doc = test::mk_doc("#[doc = \"whatever\"] iface i { fn a(); }");
434387
assert doc.topmod.ifaces()[0].desc == some("whatever");
435388
}
436389

437390
#[test]
438391
fn should_extract_iface_method_docs() {
439-
let source = "iface i {\
440-
#[doc(\
441-
brief = \"brief\",\
442-
desc = \"desc\",\
443-
args(a = \"a\"),\
444-
return = \"return\",\
445-
failure = \"failure\")]\
446-
fn f(a: bool) -> bool;\
447-
}";
448-
let srv = astsrv::mk_srv_from_str(source);
449-
let doc = extract::from_srv(srv, "");
450-
let doc = run(srv, doc);
392+
let doc = test::mk_doc(
393+
"iface i {\
394+
#[doc(\
395+
brief = \"brief\",\
396+
desc = \"desc\",\
397+
args(a = \"a\"),\
398+
return = \"return\",\
399+
failure = \"failure\")]\
400+
fn f(a: bool) -> bool;\
401+
}");
451402
assert doc.topmod.ifaces()[0].methods[0].brief == some("brief");
452403
assert doc.topmod.ifaces()[0].methods[0].desc == some("desc");
453404
assert doc.topmod.ifaces()[0].methods[0].args[0].desc == some("a");
@@ -474,30 +425,35 @@ fn fold_impl(
474425

475426
#[test]
476427
fn should_extract_impl_docs() {
477-
let source = "#[doc = \"whatever\"] impl i for int { fn a() { } }";
478-
let srv = astsrv::mk_srv_from_str(source);
479-
let doc = extract::from_srv(srv, "");
480-
let doc = run(srv, doc);
428+
let doc = test::mk_doc(
429+
"#[doc = \"whatever\"] impl i for int { fn a() { } }");
481430
assert doc.topmod.impls()[0].desc == some("whatever");
482431
}
483432

484433
#[test]
485434
fn should_extract_impl_method_docs() {
486-
let source = "impl i for int {\
487-
#[doc(\
488-
brief = \"brief\",\
489-
desc = \"desc\",\
490-
args(a = \"a\"),\
491-
return = \"return\",\
492-
failure = \"failure\")]\
493-
fn f(a: bool) -> bool { }\
494-
}";
495-
let srv = astsrv::mk_srv_from_str(source);
496-
let doc = extract::from_srv(srv, "");
497-
let doc = run(srv, doc);
435+
let doc = test::mk_doc(
436+
"impl i for int {\
437+
#[doc(\
438+
brief = \"brief\",\
439+
desc = \"desc\",\
440+
args(a = \"a\"),\
441+
return = \"return\",\
442+
failure = \"failure\")]\
443+
fn f(a: bool) -> bool { }\
444+
}");
498445
assert doc.topmod.impls()[0].methods[0].brief == some("brief");
499446
assert doc.topmod.impls()[0].methods[0].desc == some("desc");
500447
assert doc.topmod.impls()[0].methods[0].args[0].desc == some("a");
501448
assert doc.topmod.impls()[0].methods[0].return.desc == some("return");
502449
assert doc.topmod.impls()[0].methods[0].failure == some("failure");
503450
}
451+
452+
#[cfg(test)]
453+
mod test {
454+
fn mk_doc(source: str) -> doc::cratedoc {
455+
let srv = astsrv::mk_srv_from_str(source);
456+
let doc = extract::from_srv(srv, "");
457+
run(srv, doc)
458+
}
459+
}

0 commit comments

Comments
 (0)