1
Fork 0

rustdoc: where clause adjustment to fix tests

- add spaces to output so stripping lines and breaking spaces renders
  the same
- add commas to where clauses in rustdoc tests to match the new output
This commit is contained in:
QuietMisdreavus 2017-04-06 14:19:45 -05:00
parent 36bc448c00
commit ae0e45c028
5 changed files with 14 additions and 11 deletions

View file

@ -192,9 +192,9 @@ impl<'a> fmt::Display for WhereClause<'a> {
clause.push_str(" where"); clause.push_str(" where");
} else { } else {
if end_newline { if end_newline {
clause.push_str("<span class=\"where fmt-newline\">where"); clause.push_str(" <span class=\"where fmt-newline\">where");
} else { } else {
clause.push_str("<span class=\"where\">where"); clause.push_str(" <span class=\"where\">where");
} }
} }
for (i, pred) in gens.where_predicates.iter().enumerate() { for (i, pred) in gens.where_predicates.iter().enumerate() {
@ -241,8 +241,11 @@ impl<'a> fmt::Display for WhereClause<'a> {
clause.push_str("</span>"); clause.push_str("</span>");
let padding = repeat("&nbsp;").take(indent + 4).collect::<String>(); let padding = repeat("&nbsp;").take(indent + 4).collect::<String>();
clause = clause.replace("<br>", &format!("<br>{}", padding)); clause = clause.replace("<br>", &format!("<br>{}", padding));
clause.insert_str(0, &repeat("&nbsp;").take(indent).collect::<String>()); clause.insert_str(0, &repeat("&nbsp;").take(indent.saturating_sub(1))
if !end_newline { .collect::<String>());
if end_newline {
clause.push(' ');
} else {
clause.insert_str(0, "<br>"); clause.insert_str(0, "<br>");
} }
} }

View file

@ -2710,14 +2710,14 @@ fn render_struct(w: &mut fmt::Formatter, it: &clean::Item,
} }
write!(w, ")")?; write!(w, ")")?;
if let Some(g) = g { if let Some(g) = g {
write!(w, "{}", WhereClause { gens: g, indent: 0, end_newline: true })? write!(w, "{}", WhereClause { gens: g, indent: 0, end_newline: false })?
} }
write!(w, ";")?; write!(w, ";")?;
} }
doctree::Unit => { doctree::Unit => {
// Needed for PhantomData. // Needed for PhantomData.
if let Some(g) = g { if let Some(g) = g {
write!(w, "{}", WhereClause { gens: g, indent: 0, end_newline: true })? write!(w, "{}", WhereClause { gens: g, indent: 0, end_newline: false })?
} }
write!(w, ";")?; write!(w, ";")?;
} }

View file

@ -17,7 +17,7 @@ impl AnOibit for .. {}
pub struct Foo<T> { field: T } pub struct Foo<T> { field: T }
// @has impl_parts/struct.Foo.html '//*[@class="impl"]//code' \ // @has impl_parts/struct.Foo.html '//*[@class="impl"]//code' \
// "impl<T: Clone> !AnOibit for Foo<T> where T: Sync" // "impl<T: Clone> !AnOibit for Foo<T> where T: Sync,"
// @has impl_parts/trait.AnOibit.html '//*[@class="item-list"]//code' \ // @has impl_parts/trait.AnOibit.html '//*[@class="item-list"]//code' \
// "impl<T: Clone> !AnOibit for Foo<T> where T: Sync" // "impl<T: Clone> !AnOibit for Foo<T> where T: Sync,"
impl<T: Clone> !AnOibit for Foo<T> where T: Sync {} impl<T: Clone> !AnOibit for Foo<T> where T: Sync {}

View file

@ -35,7 +35,7 @@ pub trait IndexMut<Idx: ?Sized>: Index<Idx> {
pub mod reexport { pub mod reexport {
// @has issue_20727_4/reexport/trait.Index.html // @has issue_20727_4/reexport/trait.Index.html
// @has - '//*[@class="rust trait"]' 'trait Index<Idx> where Idx: ?Sized {' // @has - '//*[@class="rust trait"]' 'trait Index<Idx> where Idx: ?Sized, {'
// @has - '//*[@class="rust trait"]' 'type Output: ?Sized' // @has - '//*[@class="rust trait"]' 'type Output: ?Sized'
// @has - '//*[@class="rust trait"]' \ // @has - '//*[@class="rust trait"]' \
// 'fn index(&self, index: Idx) -> &Self::Output' // 'fn index(&self, index: Idx) -> &Self::Output'
@ -43,7 +43,7 @@ pub mod reexport {
// @has issue_20727_4/reexport/trait.IndexMut.html // @has issue_20727_4/reexport/trait.IndexMut.html
// @has - '//*[@class="rust trait"]' \ // @has - '//*[@class="rust trait"]' \
// 'trait IndexMut<Idx>: Index<Idx> where Idx: ?Sized {' // 'trait IndexMut<Idx>: Index<Idx> where Idx: ?Sized, {'
// @has - '//*[@class="rust trait"]' \ // @has - '//*[@class="rust trait"]' \
// 'fn index_mut(&mut self, index: Idx) -> &mut Self::Output;' // 'fn index_mut(&mut self, index: Idx) -> &mut Self::Output;'
pub use issue_20727::IndexMut; pub use issue_20727::IndexMut;

View file

@ -44,5 +44,5 @@ pub enum Foxtrot<F> { Foxtrot1(F) }
impl<F> MyTrait for Foxtrot<F> where F: MyTrait {} impl<F> MyTrait for Foxtrot<F> where F: MyTrait {}
// @has foo/type.Golf.html '//pre[@class="rust typedef"]' \ // @has foo/type.Golf.html '//pre[@class="rust typedef"]' \
// "type Golf<T> where T: Clone = (T, T)" // "type Golf<T> where T: Clone, = (T, T)"
pub type Golf<T> where T: Clone = (T, T); pub type Golf<T> where T: Clone = (T, T);