| // This test ensures that using `auto_cfg(show(key))` works correctly. |
| |
| #![feature(doc_cfg)] |
| #![crate_name = "foo"] |
| |
| #![doc(auto_cfg(hide(meow)))] |
| #![doc(auto_cfg(hide(meow, values("lol"))))] |
| |
| //@ has foo/fn.foo.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob' |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow' |
| #[cfg(not(meow))] |
| #[cfg(not(blob))] |
| pub fn foo() {} |
| |
| //@ has foo/fn.bar.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob=lol' |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow=lol' |
| #[cfg(not(meow = "lol"))] |
| #[cfg(not(blob = "lol"))] |
| pub fn bar() {} |
| |
| //@ has foo/fn.babar.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob=lola' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow=lola' |
| #[cfg(not(meow = "lola"))] |
| #[cfg(not(blob = "lola"))] |
| pub fn babar() {} |
| |
| pub mod sub { |
| // We show again `meow`, however `meow="lol"` should still be hidden. |
| #![doc(auto_cfg(show(meow)))] |
| |
| //@ has foo/sub/fn.foo.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow' |
| #[cfg(not(meow))] |
| #[cfg(not(blob))] |
| pub fn foo() {} |
| |
| //@ has foo/sub/fn.bar.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob=lol' |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow=lol' |
| #[cfg(not(meow = "lol"))] |
| #[cfg(not(blob = "lol"))] |
| pub fn bar() {} |
| |
| //@ has foo/sub/fn.babar.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob=lola' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow=lola' |
| #[cfg(not(meow = "lola"))] |
| #[cfg(not(blob = "lola"))] |
| pub fn babar() {} |
| } |
| |
| pub mod sub2 { |
| // We show again `meow = "lol`, however `meow` should still be hidden. |
| #![doc(auto_cfg(show(meow, values("lol"))))] |
| |
| //@ has foo/sub2/fn.foo.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob' |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow' |
| #[cfg(not(meow))] |
| #[cfg(not(blob))] |
| pub fn foo() {} |
| |
| //@ has foo/sub2/fn.bar.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob=lol' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow=lol' |
| #[cfg(not(meow = "lol"))] |
| #[cfg(not(blob = "lol"))] |
| pub fn bar() {} |
| |
| //@ has foo/sub2/fn.babar.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob=lola' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow=lola' |
| #[cfg(not(meow = "lola"))] |
| #[cfg(not(blob = "lola"))] |
| pub fn babar() {} |
| } |
| |
| pub mod sub3 { |
| // We show again `meow = "lol`, but by using `any()` this time. |
| #![doc(auto_cfg(show(meow, values(any()))))] |
| |
| //@ has foo/sub3/fn.foo.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow' |
| #[cfg(not(meow))] |
| #[cfg(not(blob))] |
| pub fn foo() {} |
| |
| //@ has foo/sub3/fn.bar.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob=lol' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow=lol' |
| #[cfg(not(meow = "lol"))] |
| #[cfg(not(blob = "lol"))] |
| pub fn bar() {} |
| |
| //@ has foo/sub3/fn.babar.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-blob=lola' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-meow=lola' |
| #[cfg(not(meow = "lola"))] |
| #[cfg(not(blob = "lola"))] |
| pub fn babar() {} |
| } |
| |
| // This test the mix of values and `none()`. |
| #[doc(auto_cfg( |
| hide(bla, values(none(), "tic")), |
| hide(alb, values(none())), |
| ))] |
| pub mod sub4 { |
| //@ has foo/sub4/fn.foo.html |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-bla' |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-bla=tic' |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-alb' |
| #[cfg(not(bla))] |
| #[cfg(not(bla = "tic"))] |
| #[cfg(not(alb))] |
| pub fn foo() {} |
| |
| //@ has foo/sub4/fn.foo2.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-bla' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-bla=tic' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-alb' |
| #[doc(auto_cfg( |
| show(bla, values(none(), "tic")), |
| show(alb, values(none())), |
| ))] |
| #[cfg(not(bla))] |
| #[cfg(not(bla = "tic"))] |
| #[cfg(not(alb))] |
| pub fn foo2() {} |
| } |
| |
| // This test the mix of `any()` and values. |
| #[doc(auto_cfg( |
| hide(alb, values(any())), |
| hide(bla, values(any())), |
| show(bla, values("top")), |
| ))] |
| pub mod sub5 { |
| //@ has foo/sub5/fn.foo.html |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-alb' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-bla=top' |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-bla=a' |
| #[cfg(not(alb))] |
| #[cfg(not(bla = "top"))] |
| #[cfg(not(bla = "a"))] |
| pub fn foo() {} |
| |
| //@ has foo/sub5/fn.foo2.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-alb' |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-bla=top' |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-bla=a' |
| #[doc(auto_cfg( |
| show(alb, values(none())), |
| hide(bla, values("top")), |
| ))] |
| #[cfg(not(alb))] |
| #[cfg(not(bla = "top"))] |
| #[cfg(not(bla = "a"))] |
| pub fn foo2() {} |
| |
| //@ has foo/sub5/fn.foo3.html |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-alb' |
| //@ !has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-bla=top' |
| //@ has - '//*[@class="item-info"]/*[@class="stab portability"]' 'non-bla=a' |
| #[doc(auto_cfg( |
| show(alb, values(any())), |
| show(bla, values(any())), |
| hide(bla, values(none(), "top")), |
| ))] |
| #[cfg(not(alb))] |
| #[cfg(not(bla = "top"))] |
| #[cfg(not(bla = "a"))] |
| pub fn foo3() {} |
| } |