rust/tests/rustdoc/unindent.rs
2024-06-24 11:08:41 +02:00

63 lines
1.7 KiB
Rust

#![crate_name = "foo"]
//@ has foo/struct.Example.html
//@ matches - '//pre[@class="rust rust-example-rendered"]' \
// '(?m)let example = Example::new\(\)\n \.first\(\)\n \.second\(\)\n \.build\(\);\Z'
/// ```rust
/// let example = Example::new()
/// .first()
#[cfg_attr(not(feature = "one"), doc = " .second()")]
/// .build();
/// ```
pub struct Example;
//@ has foo/struct.F.html
//@ matches - '//pre[@class="rust rust-example-rendered"]' \
// '(?m)let example = Example::new\(\)\n \.first\(\)\n \.another\(\)\n \.build\(\);\Z'
///```rust
///let example = Example::new()
/// .first()
#[cfg_attr(not(feature = "one"), doc = " .another()")]
/// .build();
/// ```
pub struct F;
//@ has foo/struct.G.html
//@ matches - '//pre[@class="rust rust-example-rendered"]' \
// '(?m)let example = Example::new\(\)\n\.first\(\)\n \.another\(\)\n\.build\(\);\Z'
///```rust
///let example = Example::new()
///.first()
#[cfg_attr(not(feature = "one"), doc = " .another()")]
///.build();
///```
pub struct G;
//@ has foo/struct.H.html
//@ has - '//div[@class="docblock"]/p' 'no whitespace lol'
///no whitespace
#[doc = " lol"]
pub struct H;
//@ has foo/struct.I.html
//@ matches - '//pre[@class="rust rust-example-rendered"]' '(?m)4 whitespaces!\Z'
/// 4 whitespaces!
#[doc = "something"]
pub struct I;
//@ has foo/struct.J.html
//@ matches - '//div[@class="docblock"]/p' '(?m)a\nno whitespace\nJust some text.\Z'
///a
///no whitespace
#[doc = include_str!("unindent.md")]
pub struct J;
//@ has foo/struct.K.html
//@ matches - '//pre[@class="rust rust-example-rendered"]' '(?m)4 whitespaces!\Z'
///a
///
/// 4 whitespaces!
///
#[doc = include_str!("unindent.md")]
pub struct K;