From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- tests/rustdoc/duplicate-cfg.rs | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tests/rustdoc/duplicate-cfg.rs (limited to 'tests/rustdoc/duplicate-cfg.rs') diff --git a/tests/rustdoc/duplicate-cfg.rs b/tests/rustdoc/duplicate-cfg.rs new file mode 100644 index 000000000..18f3900b2 --- /dev/null +++ b/tests/rustdoc/duplicate-cfg.rs @@ -0,0 +1,53 @@ +#![crate_name = "foo"] +#![feature(doc_cfg)] + +// @has 'foo/index.html' +// @matches '-' '//*[@class="item-left module-item"]//*[@class="stab portability"]' '^sync$' +// @has '-' '//*[@class="item-left module-item"]//*[@class="stab portability"]/@title' 'Available on crate feature `sync` only' + +// @has 'foo/struct.Foo.html' +// @has '-' '//*[@class="stab portability"]' 'sync' +#[doc(cfg(feature = "sync"))] +#[doc(cfg(feature = "sync"))] +/// my feature sync struct +pub struct Foo; + +// @has 'foo/bar/index.html' +// @has '-' '//*[@class="stab portability"]' 'Available on crate feature sync only.' +#[doc(cfg(feature = "sync"))] +pub mod bar { + // @has 'foo/bar/struct.Bar.html' + // @has '-' '//*[@class="stab portability"]' 'Available on crate feature sync only.' + #[doc(cfg(feature = "sync"))] + pub struct Bar; +} + +// @has 'foo/baz/index.html' +// @has '-' '//*[@class="stab portability"]' 'Available on crate features sync and send only.' +#[doc(cfg(all(feature = "sync", feature = "send")))] +pub mod baz { + // @has 'foo/baz/struct.Baz.html' + // @has '-' '//*[@class="stab portability"]' 'Available on crate features sync and send only.' + #[doc(cfg(feature = "sync"))] + pub struct Baz; +} + +// @has 'foo/qux/index.html' +// @has '-' '//*[@class="stab portability"]' 'Available on crate feature sync only.' +#[doc(cfg(feature = "sync"))] +pub mod qux { + // @has 'foo/qux/struct.Qux.html' + // @has '-' '//*[@class="stab portability"]' 'Available on crate features sync and send only.' + #[doc(cfg(all(feature = "sync", feature = "send")))] + pub struct Qux; +} + +// @has 'foo/quux/index.html' +// @has '-' '//*[@class="stab portability"]' 'Available on crate feature sync and crate feature send and foo only.' +#[doc(cfg(all(feature = "sync", feature = "send", foo)))] +pub mod quux { + // @has 'foo/quux/struct.Quux.html' + // @has '-' '//*[@class="stab portability"]' 'Available on crate feature sync and crate feature send and foo and bar only.' + #[doc(cfg(all(feature = "send", feature = "sync", bar)))] + pub struct Quux; +} -- cgit v1.2.3