rustdoc: add test case for the implementors JS file placement

This commit is contained in:
Michael Howell 2022-05-27 17:41:20 -07:00
parent e4d48c38c5
commit 5d86305ffd
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,18 @@
pub mod my_trait {
pub trait MyTrait {
fn my_fn(&self) -> Self;
}
}
pub mod prelude {
#[doc(inline)]
pub use crate::my_trait::MyTrait;
}
pub struct SomeStruct;
impl my_trait::MyTrait for SomeStruct {
fn my_fn(&self) -> SomeStruct {
SomeStruct
}
}

View File

@ -0,0 +1,25 @@
// aux-build:implementors_inline.rs
// build-aux-docs
// ignore-cross-compile
extern crate implementors_inline;
// @!has implementors/implementors_js/trait.MyTrait.js
// @has implementors/implementors_inline/my_trait/trait.MyTrait.js
// @!has implementors/implementors_inline/prelude/trait.MyTrait.js
// @has implementors_inline/my_trait/trait.MyTrait.html
// @has - '//script/@src' '../../implementors/implementors_inline/my_trait/trait.MyTrait.js'
// @has implementors_js/trait.MyTrait.html
// @has - '//script/@src' '../implementors/implementors_inline/my_trait/trait.MyTrait.js'
/// When re-exporting this trait, the HTML will be inlined,
/// but, vitally, the JavaScript will be located only at the
/// one canonical path.
pub use implementors_inline::prelude::MyTrait;
pub struct OtherStruct;
impl MyTrait for OtherStruct {
fn my_fn(&self) -> OtherStruct {
OtherStruct
}
}