]> git.lizzy.rs Git - rust.git/blob - src/librustdoc/html/tests.rs
Rollup merge of #91091 - ecstatic-morse:control-flow-enum-is, r=m-ou-se
[rust.git] / src / librustdoc / html / tests.rs
1 use crate::html::format::href_relative_parts;
2
3 fn assert_relative_path(expected: &[&str], relative_to_fqp: &[&str], fqp: &[&str]) {
4     let relative_to_fqp: Vec<String> = relative_to_fqp.iter().copied().map(String::from).collect();
5     let fqp: Vec<String> = fqp.iter().copied().map(String::from).collect();
6     assert_eq!(expected, href_relative_parts(&fqp, &relative_to_fqp));
7 }
8
9 #[test]
10 fn href_relative_parts_basic() {
11     let relative_to_fqp = &["std", "vec"];
12     let fqp = &["std", "iter"];
13     assert_relative_path(&["..", "iter"], relative_to_fqp, fqp);
14 }
15 #[test]
16 fn href_relative_parts_parent_module() {
17     let relative_to_fqp = &["std", "vec"];
18     let fqp = &["std"];
19     assert_relative_path(&[".."], relative_to_fqp, fqp);
20 }
21 #[test]
22 fn href_relative_parts_different_crate() {
23     let relative_to_fqp = &["std", "vec"];
24     let fqp = &["core", "iter"];
25     assert_relative_path(&["..", "..", "core", "iter"], relative_to_fqp, fqp);
26 }
27 #[test]
28 fn href_relative_parts_same_module() {
29     let relative_to_fqp = &["std", "vec"];
30     let fqp = &["std", "vec"];
31     assert_relative_path(&[], relative_to_fqp, fqp);
32 }
33 #[test]
34 fn href_relative_parts_child_module() {
35     let relative_to_fqp = &["std"];
36     let fqp = &["std", "vec"];
37     assert_relative_path(&["vec"], relative_to_fqp, fqp);
38 }
39 #[test]
40 fn href_relative_parts_root() {
41     let relative_to_fqp = &[];
42     let fqp = &["std"];
43     assert_relative_path(&["std"], relative_to_fqp, fqp);
44 }