diff --git a/src/doc/rustdoc/src/how-to-write-documentation.md b/src/doc/rustdoc/src/how-to-write-documentation.md
index aaabaa6098f5c..acab1a93690c5 100644
--- a/src/doc/rustdoc/src/how-to-write-documentation.md
+++ b/src/doc/rustdoc/src/how-to-write-documentation.md
@@ -256,7 +256,8 @@ So, no need to manually enter those Unicode characters!
### Adding a warning block
-If you want to make a "warning" stand out in the documentation, you can wrap it like this:
+If you want to make a warning or similar note stand out in the documentation,
+you can wrap it like this:
```md
/// documentation
diff --git a/tests/rustdoc-gui/src/test_docs/lib.rs b/tests/rustdoc-gui/src/test_docs/lib.rs
index 49484ee086960..38180aef762b4 100644
--- a/tests/rustdoc-gui/src/test_docs/lib.rs
+++ b/tests/rustdoc-gui/src/test_docs/lib.rs
@@ -65,6 +65,18 @@ impl Foo {
pub fn must_use(&self) -> bool {
true
}
+
+ /// hello
+ ///
+ ///
this is a warning
+ ///
+ /// done
+ pub fn warning1() {}
+
+ /// Checking there is no bottom margin if "warning" is the last element.
+ ///
+ /// this is a warning
+ pub fn warning2() {}
}
impl AsRef for Foo {
diff --git a/tests/rustdoc-gui/warning-block.goml b/tests/rustdoc-gui/warning-block.goml
new file mode 100644
index 0000000000000..2a935bd1a9bb5
--- /dev/null
+++ b/tests/rustdoc-gui/warning-block.goml
@@ -0,0 +1,45 @@
+// Test to check that the "warning blocks" are displayed as expected.
+go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
+show-text: true
+
+define-function: (
+ "check-warning",
+ (theme, color, border_color, background_color),
+ block {
+ set-local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+
+ // The IDs are added directly into the DOM to make writing this test easier.
+ assert-css: ("#doc-warning-1", {
+ "margin-bottom": "12px",
+ "color": |color|,
+ "border-left": "2px solid " + |border_color|,
+ "background-color": |background_color|,
+ })
+ assert-css: ("#doc-warning-2", {
+ "margin-bottom": "0px",
+ "color": |color|,
+ "border-left": "2px solid " + |border_color|,
+ "background-color": |background_color|,
+ })
+ },
+)
+
+call-function: ("check-warning", {
+ "theme": "ayu",
+ "color": "rgb(197, 197, 197)",
+ "border_color": "rgb(255, 142, 0)",
+ "background_color": "rgba(0, 0, 0, 0)",
+})
+call-function: ("check-warning", {
+ "theme": "dark",
+ "color": "rgb(221, 221, 221)",
+ "border_color": "rgb(255, 142, 0)",
+ "background_color": "rgba(0, 0, 0, 0)",
+})
+call-function: ("check-warning", {
+ "theme": "light",
+ "color": "rgb(0, 0, 0)",
+ "border_color": "rgb(255, 142, 0)",
+ "background_color": "rgba(0, 0, 0, 0)",
+})