diff options
| author | Noah Lev <camelidcamel@gmail.com> | 2022-01-10 15:33:20 -0800 |
|---|---|---|
| committer | Noah Lev <camelidcamel@gmail.com> | 2022-01-14 12:05:35 -0800 |
| commit | c7147e4e1acd49ea01e6d67a85c270946554783a (patch) | |
| tree | 4f1f3a3600cb9a17aa3c7f001126ee94347085ac | |
| parent | cef250d90bbf65af7ec3c8ff5865eaa12a5f4a21 (diff) | |
| download | rust-c7147e4e1acd49ea01e6d67a85c270946554783a.tar.gz rust-c7147e4e1acd49ea01e6d67a85c270946554783a.zip | |
Document and test `UrlPartsBuilder::push_fmt`
| -rw-r--r-- | src/librustdoc/html/url_parts_builder.rs | 13 | ||||
| -rw-r--r-- | src/librustdoc/html/url_parts_builder/tests.rs | 10 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/librustdoc/html/url_parts_builder.rs b/src/librustdoc/html/url_parts_builder.rs index 66c879b8392..2bb78aa7dc9 100644 --- a/src/librustdoc/html/url_parts_builder.rs +++ b/src/librustdoc/html/url_parts_builder.rs @@ -67,6 +67,19 @@ impl UrlPartsBuilder { self.buf.push_str(part); } + /// Push a component onto the buffer, using [`format!`]'s formatting syntax. + /// + /// # Examples + /// + /// Basic usage (equivalent to the example for [`UrlPartsBuilder::push`]): + /// + /// ```ignore (private-type) + /// let mut builder = UrlPartsBuilder::new(); + /// builder.push("core"); + /// builder.push("str"); + /// builder.push_fmt(format_args!("{}.{}.html", "struct", "Bytes")); + /// assert_eq!(builder.finish(), "core/str/struct.Bytes.html"); + /// ``` crate fn push_fmt(&mut self, args: fmt::Arguments<'_>) { if !self.buf.is_empty() { self.buf.push('/'); diff --git a/src/librustdoc/html/url_parts_builder/tests.rs b/src/librustdoc/html/url_parts_builder/tests.rs index 43338c95010..636e1ab5527 100644 --- a/src/librustdoc/html/url_parts_builder/tests.rs +++ b/src/librustdoc/html/url_parts_builder/tests.rs @@ -41,6 +41,16 @@ fn push_front_non_empty() { } #[test] +fn push_fmt() { + let mut builder = UrlPartsBuilder::new(); + builder.push_fmt(format_args!("{}", "core")); + builder.push("str"); + builder.push_front("nightly"); + builder.push_fmt(format_args!("{}.{}.html", "struct", "Bytes")); + t(builder, "nightly/core/str/struct.Bytes.html"); +} + +#[test] fn collect() { t(["core", "str"].into_iter().collect(), "core/str"); t(["core", "str", "struct.Bytes.html"].into_iter().collect(), "core/str/struct.Bytes.html"); |
