Rollup merge of #87270 - GuillaumeGomez:item-summary-table, r=notriddle
Don't display <table> in item summary Fixes #87231. r? `@notriddle`
This commit is contained in:
commit
aa3d64ef90
@ -57,7 +57,7 @@ pub(crate) fn opts() -> Options {
|
||||
|
||||
/// A subset of [`opts()`] used for rendering summaries.
|
||||
pub(crate) fn summary_opts() -> Options {
|
||||
Options::ENABLE_STRIKETHROUGH | Options::ENABLE_SMART_PUNCTUATION
|
||||
Options::ENABLE_STRIKETHROUGH | Options::ENABLE_SMART_PUNCTUATION | Options::ENABLE_TABLES
|
||||
}
|
||||
|
||||
/// When `to_string` is called, this struct will emit the HTML corresponding to
|
||||
@ -522,6 +522,10 @@ fn check_if_allowed_tag(t: &Tag<'_>) -> bool {
|
||||
)
|
||||
}
|
||||
|
||||
fn is_forbidden_tag(t: &Tag<'_>) -> bool {
|
||||
matches!(t, Tag::CodeBlock(_) | Tag::Table(_) | Tag::TableHead | Tag::TableRow | Tag::TableCell)
|
||||
}
|
||||
|
||||
impl<'a, I: Iterator<Item = Event<'a>>> Iterator for SummaryLine<'a, I> {
|
||||
type Item = Event<'a>;
|
||||
|
||||
@ -535,14 +539,17 @@ fn next(&mut self) -> Option<Self::Item> {
|
||||
if let Some(event) = self.inner.next() {
|
||||
let mut is_start = true;
|
||||
let is_allowed_tag = match event {
|
||||
Event::Start(Tag::CodeBlock(_)) | Event::End(Tag::CodeBlock(_)) => {
|
||||
Event::Start(ref c) => {
|
||||
if is_forbidden_tag(c) {
|
||||
return None;
|
||||
}
|
||||
Event::Start(ref c) => {
|
||||
self.depth += 1;
|
||||
check_if_allowed_tag(c)
|
||||
}
|
||||
Event::End(ref c) => {
|
||||
if is_forbidden_tag(c) {
|
||||
return None;
|
||||
}
|
||||
self.depth -= 1;
|
||||
is_start = false;
|
||||
check_if_allowed_tag(c)
|
||||
|
6
src/test/rustdoc-gui/item-summary-table.goml
Normal file
6
src/test/rustdoc-gui/item-summary-table.goml
Normal file
@ -0,0 +1,6 @@
|
||||
// This test ensures that <table> elements aren't display in items summary.
|
||||
goto: file://|DOC_PATH|/lib2/summary_table/index.html
|
||||
// We check that we picked the right item first.
|
||||
assert-text: (".item-table .item-left", "Foo")
|
||||
// Then we check that its summary is empty.
|
||||
assert-text: (".item-table .item-right", "")
|
@ -66,3 +66,10 @@ pub mod long_table {
|
||||
/// I wanna sqdkfnqds f dsqf qds f dsqf dsq f dsq f qds f qds f qds f dsqq f dsf sqdf dsq fds f dsq f dq f ds fq sd fqds f dsq f sqd fsq df sd fdsqfqsd fdsq f dsq f dsqfd s dfq
|
||||
pub struct Foo;
|
||||
}
|
||||
|
||||
pub mod summary_table {
|
||||
/// | header 1 | header 2 |
|
||||
/// | -------- | -------- |
|
||||
/// | content | content |
|
||||
pub struct Foo;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user