Add test for invalid whitespace display after where clause
This commit is contained in:
parent
c748551f7f
commit
c8a5b671a0
4
src/test/rustdoc/whitespace-after-where-clause.enum.html
Normal file
4
src/test/rustdoc/whitespace-after-where-clause.enum.html
Normal file
@ -0,0 +1,4 @@
|
||||
<div class="docblock item-decl"><pre class="rust enum"><code>pub enum Cow<'a, B: ?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a> <span class="where fmt-newline">where<br />    B: <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a><dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>, </span>{
|
||||
Borrowed(<a class="primitive" href="{{channel}}/std/primitive.reference.html">&'a </a>B),
|
||||
Whatever(<a class="primitive" href="{{channel}}/std/primitive.u32.html">u32</a>),
|
||||
}</code></pre></div>
|
@ -0,0 +1,4 @@
|
||||
<div class="docblock item-decl"><pre class="rust enum"><code>pub enum Cow2<'a, B: ?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a><dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> + 'a> {
|
||||
Borrowed(<a class="primitive" href="{{channel}}/std/primitive.reference.html">&'a </a>B),
|
||||
Whatever(<a class="primitive" href="{{channel}}/std/primitive.u32.html">u32</a>),
|
||||
}</code></pre></div>
|
77
src/test/rustdoc/whitespace-after-where-clause.rs
Normal file
77
src/test/rustdoc/whitespace-after-where-clause.rs
Normal file
@ -0,0 +1,77 @@
|
||||
// This test ensures there is no whitespace before the first brace of
|
||||
// trait, enum, struct and union items when they have a where clause.
|
||||
|
||||
#![crate_name = "foo"]
|
||||
|
||||
// @has 'foo/trait.ToOwned.html'
|
||||
// @snapshot trait - '//*[@class="docblock item-decl"]'
|
||||
pub trait ToOwned<T>
|
||||
where T: Clone
|
||||
{
|
||||
type Owned;
|
||||
fn to_owned(&self) -> Self::Owned;
|
||||
fn whatever(&self) -> T;
|
||||
}
|
||||
|
||||
// @has 'foo/trait.ToOwned2.html'
|
||||
// @snapshot trait2 - '//*[@class="docblock item-decl"]'
|
||||
// There should be a whitespace before `{` in this case!
|
||||
pub trait ToOwned2<T: Clone> {
|
||||
type Owned;
|
||||
fn to_owned(&self) -> Self::Owned;
|
||||
fn whatever(&self) -> T;
|
||||
}
|
||||
|
||||
// @has 'foo/enum.Cow.html'
|
||||
// @snapshot enum - '//*[@class="docblock item-decl"]'
|
||||
pub enum Cow<'a, B: ?Sized + 'a>
|
||||
where
|
||||
B: ToOwned<Clone>,
|
||||
{
|
||||
Borrowed(&'a B),
|
||||
Whatever(u32),
|
||||
}
|
||||
|
||||
// @has 'foo/enum.Cow2.html'
|
||||
// @snapshot enum2 - '//*[@class="docblock item-decl"]'
|
||||
// There should be a whitespace before `{` in this case!
|
||||
pub enum Cow2<'a, B: ?Sized + ToOwned<Clone> + 'a> {
|
||||
Borrowed(&'a B),
|
||||
Whatever(u32),
|
||||
}
|
||||
|
||||
// @has 'foo/struct.Struct.html'
|
||||
// @snapshot struct - '//*[@class="docblock item-decl"]'
|
||||
pub struct Struct<'a, B: ?Sized + 'a>
|
||||
where
|
||||
B: ToOwned<Clone>,
|
||||
{
|
||||
pub a: &'a B,
|
||||
pub b: u32,
|
||||
}
|
||||
|
||||
// @has 'foo/struct.Struct2.html'
|
||||
// @snapshot struct2 - '//*[@class="docblock item-decl"]'
|
||||
// There should be a whitespace before `{` in this case!
|
||||
pub struct Struct2<'a, B: ?Sized + ToOwned<Clone> + 'a> {
|
||||
pub a: &'a B,
|
||||
pub b: u32,
|
||||
}
|
||||
|
||||
// @has 'foo/union.Union.html'
|
||||
// @snapshot union - '//*[@class="docblock item-decl"]'
|
||||
pub union Union<'a, B: ?Sized + 'a>
|
||||
where
|
||||
B: ToOwned<Clone>,
|
||||
{
|
||||
a: &'a B,
|
||||
b: u32,
|
||||
}
|
||||
|
||||
// @has 'foo/union.Union2.html'
|
||||
// @snapshot union2 - '//*[@class="docblock item-decl"]'
|
||||
// There should be a whitespace before `{` in this case!
|
||||
pub union Union2<'a, B: ?Sized + ToOwned<Clone> + 'a> {
|
||||
a: &'a B,
|
||||
b: u32,
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<div class="docblock item-decl"><pre class="rust struct"><code>pub struct Struct<'a, B: ?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a> <span class="where fmt-newline">where<br />    B: <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a><dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>, </span>{
|
||||
pub a: <a class="primitive" href="{{channel}}/std/primitive.reference.html">&'a </a>B,
|
||||
pub b: <a class="primitive" href="{{channel}}/std/primitive.u32.html">u32</a>,
|
||||
}</code></pre></div>
|
@ -0,0 +1,4 @@
|
||||
<div class="docblock item-decl"><pre class="rust struct"><code>pub struct Struct2<'a, B: ?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a><dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> + 'a> {
|
||||
pub a: <a class="primitive" href="{{channel}}/std/primitive.reference.html">&'a </a>B,
|
||||
pub b: <a class="primitive" href="{{channel}}/std/primitive.u32.html">u32</a>,
|
||||
}</code></pre></div>
|
@ -0,0 +1,6 @@
|
||||
<div class="docblock item-decl"><pre class="rust trait"><code>pub trait ToOwned<T> <span class="where fmt-newline">where<br />    T: <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span>{
|
||||
type <a href="#associatedtype.Owned" class="associatedtype">Owned</a>;
|
||||
|
||||
fn <a href="#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> Self::<a class="associatedtype" href="trait.ToOwned.html#associatedtype.Owned" title="type foo::ToOwned::Owned">Owned</a>;
|
||||
<span class="item-spacer" /> fn <a href="#tymethod.whatever" class="fnname">whatever</a>(&self) -> T;
|
||||
}</code></pre></div>
|
@ -0,0 +1,6 @@
|
||||
<div class="docblock item-decl"><pre class="rust trait"><code>pub trait ToOwned2<T: <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> {
|
||||
type <a href="#associatedtype.Owned" class="associatedtype">Owned</a>;
|
||||
|
||||
fn <a href="#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> Self::<a class="associatedtype" href="trait.ToOwned2.html#associatedtype.Owned" title="type foo::ToOwned2::Owned">Owned</a>;
|
||||
<span class="item-spacer" /> fn <a href="#tymethod.whatever" class="fnname">whatever</a>(&self) -> T;
|
||||
}</code></pre></div>
|
@ -0,0 +1,3 @@
|
||||
<div class="docblock item-decl"><pre class="rust union"><code>pub union Union<'a, B: ?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a> <span class="where fmt-newline">where<br />    B: <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a><dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>>, </span>{
|
||||
/* private fields */
|
||||
}</code></pre></div>
|
@ -0,0 +1,3 @@
|
||||
<div class="docblock item-decl"><pre class="rust union"><code>pub union Union2<'a, B: ?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a><dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>> + 'a> {
|
||||
/* private fields */
|
||||
}</code></pre></div>
|
Loading…
x
Reference in New Issue
Block a user