]>
git.proxmox.com Git - rustc.git/blob - src/librustdoc/html/tests.rs
1 use crate::html
::format
::href_relative_parts
;
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
));
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
);
16 fn href_relative_parts_parent_module() {
17 let relative_to_fqp
= &["std", "vec"];
19 assert_relative_path(&[".."], relative_to_fqp
, fqp
);
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
);
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
);
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
);
40 fn href_relative_parts_root() {
41 let relative_to_fqp
= &[];
43 assert_relative_path(&["std"], relative_to_fqp
, fqp
);