]> git.lizzy.rs Git - rust.git/blob - src/librustdoc/html/url_parts_builder/tests.rs
Auto merge of #92012 - llogiq:repr-c-def-id, r=michaelwoerister
[rust.git] / src / librustdoc / html / url_parts_builder / tests.rs
1 use super::*;
2
3 fn t(builder: UrlPartsBuilder, expect: &str) {
4     assert_eq!(builder.finish(), expect);
5 }
6
7 #[test]
8 fn empty() {
9     t(UrlPartsBuilder::new(), "");
10 }
11
12 #[test]
13 fn singleton() {
14     t(UrlPartsBuilder::singleton("index.html"), "index.html");
15 }
16
17 #[test]
18 fn push_several() {
19     let mut builder = UrlPartsBuilder::new();
20     builder.push("core");
21     builder.push("str");
22     builder.push("struct.Bytes.html");
23     t(builder, "core/str/struct.Bytes.html");
24 }
25
26 #[test]
27 fn push_front_empty() {
28     let mut builder = UrlPartsBuilder::new();
29     builder.push_front("page.html");
30     t(builder, "page.html");
31 }
32
33 #[test]
34 fn push_front_non_empty() {
35     let mut builder = UrlPartsBuilder::new();
36     builder.push("core");
37     builder.push("str");
38     builder.push("struct.Bytes.html");
39     builder.push_front("nightly");
40     t(builder, "nightly/core/str/struct.Bytes.html");
41 }
42
43 #[test]
44 fn collect() {
45     t(["core", "str"].into_iter().collect(), "core/str");
46     t(["core", "str", "struct.Bytes.html"].into_iter().collect(), "core/str/struct.Bytes.html");
47 }
48
49 #[test]
50 fn extend() {
51     let mut builder = UrlPartsBuilder::singleton("core");
52     builder.extend(["str", "struct.Bytes.html"]);
53     t(builder, "core/str/struct.Bytes.html");
54 }