diff options
| author | Michael Howell <michael@notriddle.com> | 2024-07-22 09:49:49 -0700 |
|---|---|---|
| committer | Michael Howell <michael@notriddle.com> | 2024-07-29 10:31:02 -0700 |
| commit | ac303df4e21eabfbf692f2d1959f7403f4887a31 (patch) | |
| tree | 0ccca9cd60ff09f8a52b07be898f854c7ebdaeac | |
| parent | 3bf8bcfbe0ebd9527a8ec107c83085cd2d4d6ec1 (diff) | |
rustdoc: move the wbr after the underscore, instead of before
| -rw-r--r-- | src/librustdoc/html/escape.rs | 8 | ||||
| -rw-r--r-- | src/librustdoc/html/escape/tests.rs | 8 | ||||
| -rw-r--r-- | tests/rustdoc/item-desc-list-at-start.item-table.html | 2 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/librustdoc/html/escape.rs b/src/librustdoc/html/escape.rs index f8199cd6e0e..691f86847b5 100644 --- a/src/librustdoc/html/escape.rs +++ b/src/librustdoc/html/escape.rs @@ -108,13 +108,13 @@ impl<'a> fmt::Display for EscapeBodyTextWithWbr<'a> { || pk.map_or(true, |(_, t)| t.chars().any(|c| c.is_uppercase())); let next_is_underscore = || pk.map_or(true, |(_, t)| t.contains('_')); let next_is_colon = || pk.map_or(true, |(_, t)| t.contains(':')); - if (i - last > 3 && is_uppercase() && !next_is_uppercase()) - || (s.contains('_') && !next_is_underscore()) - { + if i - last > 3 && is_uppercase() && !next_is_uppercase() { EscapeBodyText(&text[last..i]).fmt(fmt)?; fmt.write_str("<wbr>")?; last = i; - } else if s.contains(':') && !next_is_colon() { + } else if (s.contains(':') && !next_is_colon()) + || (s.contains('_') && !next_is_underscore()) + { EscapeBodyText(&text[last..i + 1]).fmt(fmt)?; fmt.write_str("<wbr>")?; last = i + 1; diff --git a/src/librustdoc/html/escape/tests.rs b/src/librustdoc/html/escape/tests.rs index e2d81cf5c27..a09649e9e18 100644 --- a/src/librustdoc/html/escape/tests.rs +++ b/src/librustdoc/html/escape/tests.rs @@ -14,16 +14,16 @@ fn escape_body_text_with_wbr() { assert_eq!(&E(" ").to_string(), " "); // real(istic) examples assert_eq!(&E("FirstSecond").to_string(), "First<wbr>Second"); - assert_eq!(&E("First_Second").to_string(), "First<wbr>_Second"); + assert_eq!(&E("First_Second").to_string(), "First_<wbr>Second"); assert_eq!(&E("First Second").to_string(), "First Second"); assert_eq!(&E("First HSecond").to_string(), "First HSecond"); assert_eq!(&E("First HTTPSecond").to_string(), "First HTTP<wbr>Second"); assert_eq!(&E("First SecondThird").to_string(), "First Second<wbr>Third"); - assert_eq!(&E("First<T>_Second").to_string(), "First<<wbr>T><wbr>_Second"); - assert_eq!(&E("first_second").to_string(), "first<wbr>_second"); + assert_eq!(&E("First<T>_Second").to_string(), "First<<wbr>T>_<wbr>Second"); + assert_eq!(&E("first_second").to_string(), "first_<wbr>second"); assert_eq!(&E("first:second").to_string(), "first:<wbr>second"); assert_eq!(&E("first::second").to_string(), "first::<wbr>second"); - assert_eq!(&E("MY_CONSTANT").to_string(), "MY<wbr>_CONSTANT"); + assert_eq!(&E("MY_CONSTANT").to_string(), "MY_<wbr>CONSTANT"); // a string won't get wrapped if it's less than 8 bytes assert_eq!(&E("HashSet").to_string(), "HashSet"); // an individual word won't get wrapped if it's less than 4 bytes diff --git a/tests/rustdoc/item-desc-list-at-start.item-table.html b/tests/rustdoc/item-desc-list-at-start.item-table.html index ab8b1508b55..cff4f816529 100644 --- a/tests/rustdoc/item-desc-list-at-start.item-table.html +++ b/tests/rustdoc/item-desc-list-at-start.item-table.html @@ -1 +1 @@ -<ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.MY_CONSTANT.html" title="constant item_desc_list_at_start::MY_CONSTANT">MY<wbr />_CONSTANT</a></div><div class="desc docblock-short">Groups: <code>SamplePatternSGIS</code>, <code>SamplePatternEXT</code></div></li></ul> \ No newline at end of file +<ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.MY_CONSTANT.html" title="constant item_desc_list_at_start::MY_CONSTANT">MY_<wbr />CONSTANT</a></div><div class="desc docblock-short">Groups: <code>SamplePatternSGIS</code>, <code>SamplePatternEXT</code></div></li></ul> \ No newline at end of file |
