diff options
| author | Oliver Middleton <olliemail27@gmail.com> | 2020-01-15 22:42:04 +0000 |
|---|---|---|
| committer | Oliver Middleton <olliemail27@gmail.com> | 2020-01-15 22:42:04 +0000 |
| commit | baf2921ebc5f5da879d00dd5fb529e5d274dce6b (patch) | |
| tree | 48c9c0a0ff085f6bff8eb550605abd93da4cbc3d /src | |
| parent | 31dd4f4acbcbdb02b0745d2136399ed664a28050 (diff) | |
| download | rust-baf2921ebc5f5da879d00dd5fb529e5d274dce6b.tar.gz rust-baf2921ebc5f5da879d00dd5fb529e5d274dce6b.zip | |
rustdoc: HTML escape codeblocks which fail syntax highlighting
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/html/highlight.rs | 2 | ||||
| -rw-r--r-- | src/test/rustdoc/bad-codeblock-syntax.rs | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/librustdoc/html/highlight.rs b/src/librustdoc/html/highlight.rs index fb6bdcdc9f4..aa52b769c38 100644 --- a/src/librustdoc/html/highlight.rs +++ b/src/librustdoc/html/highlight.rs @@ -65,7 +65,7 @@ pub fn render_with_highlighting( Err(()) => { // If errors are encountered while trying to highlight, just emit // the unhighlighted source. - write!(out, "<pre><code>{}</code></pre>", src).unwrap(); + write!(out, "<pre><code>{}</code></pre>", Escape(src)).unwrap(); } } diff --git a/src/test/rustdoc/bad-codeblock-syntax.rs b/src/test/rustdoc/bad-codeblock-syntax.rs index 0ab2f68fcde..ae8fbe4a2a8 100644 --- a/src/test/rustdoc/bad-codeblock-syntax.rs +++ b/src/test/rustdoc/bad-codeblock-syntax.rs @@ -25,3 +25,11 @@ pub fn quux() {} /// \_ /// ``` pub fn ok() {} + +// @has bad_codeblock_syntax/fn.escape.html +// @has - '//*[@class="docblock"]/pre/code' '\_ <script>alert("not valid Rust");</script>' +/// ``` +/// \_ +/// <script>alert("not valid Rust");</script> +/// ``` +pub fn escape() {} |
