Add `crate_name` and URL to test cases

This commit is contained in:
Michael Howell 2024-01-03 14:56:10 -07:00
parent 139fb22146
commit b5c9982c0a
20 changed files with 95 additions and 37 deletions

View File

@ -1,3 +1,6 @@
// https://github.com/rust-lang/rust/issues/35169
#![crate_name="foo"]
use std::ops::Deref;
use std::ops::DerefMut;
@ -23,7 +26,7 @@ impl DerefMut for Bar {
fn deref_mut(&mut self) -> &mut Foo { loop {} }
}
// @has issue_35169_2/struct.Bar.html
// @has foo/struct.Bar.html
// @has - '//*[@id="method.by_ref"]//h4[@class="code-header"]' 'fn by_ref(&self)'
// @has - '//*[@id="method.by_ref"]' 'fn by_ref(&self)'
// @has - '//*[@id="method.by_explicit_ref"]//h4[@class="code-header"]' 'fn by_explicit_ref(self: &Foo)'

View File

@ -1,3 +1,6 @@
// https://github.com/rust-lang/rust/issues/35169
#![crate_name="foo"]
use std::ops::Deref;
pub struct Foo;
@ -18,7 +21,7 @@ impl Deref for Bar {
fn deref(&self) -> &Foo { loop {} }
}
// @has issue_35169/struct.Bar.html
// @has foo/struct.Bar.html
// @has - '//*[@id="method.by_ref"]//h4[@class="code-header"]' 'fn by_ref(&self)'
// @has - '//*[@id="method.by_ref"]' 'fn by_ref(&self)'
// @has - '//*[@id="method.by_explicit_ref"]//h4[@class="code-header"]' 'fn by_explicit_ref(self: &Foo)'

View File

@ -1,3 +1,6 @@
// https://github.com/rust-lang/rust/issues/35488
#![crate_name="foo"]
mod foo {
pub enum Foo {
Bar,
@ -5,9 +8,9 @@ mod foo {
pub use self::Foo::*;
}
// @has 'issue_35488/index.html' '//code' 'pub use self::Foo::*;'
// @has 'issue_35488/enum.Foo.html'
// @has 'foo/index.html' '//code' 'pub use self::Foo::*;'
// @has 'foo/enum.Foo.html'
pub use self::foo::*;
// @has 'issue_35488/index.html' '//code' 'pub use std::option::Option::None;'
// @has 'foo/index.html' '//code' 'pub use std::option::Option::None;'
pub use std::option::Option::None;

View File

@ -1,4 +1,7 @@
// @has issue_41783/struct.Foo.html
// https://github.com/rust-lang/rust/issues/41783
#![crate_name="foo"]
// @has foo/struct.Foo.html
// @!hasraw - 'space'
// @!hasraw - 'comment'
// @hasraw - '<span class="attr">#[outer]'

View File

@ -1,6 +1,9 @@
// https://github.com/rust-lang/rust/issues/42760
#![crate_name="foo"]
#![allow(rustdoc::invalid_rust_codeblocks)]
// @has issue_42760/struct.NonGen.html
// @has foo/struct.NonGen.html
// @has - '//h2' 'Example'
/// Item docs.

View File

@ -1,3 +1,6 @@
// https://github.com/rust-lang/rust/issues/43869
#![crate_name="foo"]
pub fn g() -> impl Iterator<Item=u8> {
Some(1u8).into_iter()
}
@ -58,15 +61,15 @@ pub fn test_44731_4() -> Box<Iterator<Item=impl Clone>> {
Box::new(g())
}
// @has issue_43869/fn.g.html
// @has issue_43869/fn.h.html
// @has issue_43869/fn.i.html
// @has issue_43869/fn.j.html
// @has issue_43869/fn.k.html
// @has issue_43869/fn.l.html
// @has issue_43869/fn.m.html
// @has issue_43869/fn.n.html
// @has issue_43869/fn.o.html
// @has issue_43869/fn.test_44731_0.html
// @has issue_43869/fn.test_44731_1.html
// @has issue_43869/fn.test_44731_4.html
// @has foo/fn.g.html
// @has foo/fn.h.html
// @has foo/fn.i.html
// @has foo/fn.j.html
// @has foo/fn.k.html
// @has foo/fn.l.html
// @has foo/fn.m.html
// @has foo/fn.n.html
// @has foo/fn.o.html
// @has foo/fn.test_44731_0.html
// @has foo/fn.test_44731_1.html
// @has foo/fn.test_44731_4.html

View File

@ -1,3 +1,6 @@
// @has 'issue_46377/index.html' '//*[@class="desc docblock-short"]' 'Check out this struct!'
// https://github.com/rust-lang/rust/issues/46377
#![crate_name="foo"]
// @has 'foo/index.html' '//*[@class="desc docblock-short"]' 'Check out this struct!'
/// # Check out this struct!
pub struct SomeStruct;

View File

@ -1,6 +1,9 @@
// https://github.com/rust-lang/rust/issues/46380
#![crate_name="foo"]
pub trait PublicTrait<T> {}
// @has issue_46380_2/struct.PublicStruct.html
// @has foo/struct.PublicStruct.html
pub struct PublicStruct;
// @!has - '//*[@class="impl"]' 'impl PublicTrait<PrivateStruct> for PublicStruct'

View File

@ -1,7 +1,10 @@
// https://github.com/rust-lang/rust/issues/46727
#![crate_name="foo"]
// aux-build:issue-46727.rs
extern crate issue_46727;
// @has issue_46727/trait.Foo.html
// @has foo/trait.Foo.html
// @has - '//h3[@class="code-header"]' 'impl<T> Foo for Bar<[T; 3]>'
pub use issue_46727::{Foo, Bar};

View File

@ -1,4 +1,7 @@
// @has issue_47197_blank_line_in_doc_block/fn.whose_woods_these_are_i_think_i_know.html
// https://github.com/rust-lang/rust/issues/47197
#![crate_name="foo"]
// @has foo/fn.whose_woods_these_are_i_think_i_know.html
/**
* snow

View File

@ -1,3 +1,6 @@
// https://github.com/rust-lang/rust/issues/50159
#![crate_name="foo"]
pub trait Signal {
type Item;
}
@ -10,7 +13,7 @@ impl<B, C> Signal2 for B where B: Signal<Item = C> {
type Item2 = C;
}
// @has issue_50159/struct.Switch.html
// @has foo/struct.Switch.html
// @has - '//h3[@class="code-header"]' 'impl<B> Send for Switch<B>where <B as Signal>::Item: Send'
// @has - '//h3[@class="code-header"]' 'impl<B> Sync for Switch<B>where <B as Signal>::Item: Sync'
// @count - '//*[@id="implementations-list"]//*[@class="impl"]' 0

View File

@ -1,3 +1,6 @@
// https://github.com/rust-lang/rust/issues/51236
#![crate_name="foo"]
use std::marker::PhantomData;
pub mod traits {
@ -6,7 +9,7 @@ pub mod traits {
}
}
// @has issue_51236/struct.Owned.html
// @has foo/struct.Owned.html
// @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl"]//h3[@class="code-header"]' \
// "impl<T> Send for Owned<T>where <T as Owned<'static>>::Reader: Send"
pub struct Owned<T> where T: for<'a> ::traits::Owned<'a> {

View File

@ -1,3 +1,6 @@
// https://github.com/rust-lang/rust/issues/52873
#![crate_name="foo"]
// Regression test for #52873. We used to ICE due to unexpected
// overflows when checking for "blanket impl inclusion".

View File

@ -1,3 +1,4 @@
// https://github.com/rust-lang/rust/issues/53689
// aux-build:issue-53689.rs
#![crate_name = "foo"]

View File

@ -1,3 +1,6 @@
// https://github.com/rust-lang/rust/issues/53812
#![crate_name="foo"]
pub trait MyIterator {}
pub struct MyStruct<T>(T);
@ -11,7 +14,7 @@ macro_rules! array_impls {
}
}
// @has issue_53812/trait.MyIterator.html
// @has foo/trait.MyIterator.html
// @has - '//*[@id="implementors-list"]/*[@class="impl"][1]' 'MyStruct<[T; 0]>'
// @has - '//*[@id="implementors-list"]/*[@class="impl"][2]' 'MyStruct<[T; 1]>'
// @has - '//*[@id="implementors-list"]/*[@class="impl"][3]' 'MyStruct<[T; 2]>'

View File

@ -1,3 +1,6 @@
// https://github.com/rust-lang/rust/issues/54478
#![crate_name="foo"]
// Issue #54478: regression test showing that we can demonstrate
// `#[global_allocator]` in code blocks built by `rustdoc`.
//

View File

@ -1,6 +1,9 @@
// https://github.com/rust-lang/rust/issues/54705
#![crate_name="foo"]
pub trait ScopeHandle<'scope> {}
// @has issue_54705/struct.ScopeFutureContents.html
// @has foo/struct.ScopeFutureContents.html
// @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl"]//h3[@class="code-header"]' \
// "impl<'scope, S> Send for ScopeFutureContents<'scope, S>where S: Sync"
//

View File

@ -1,3 +1,6 @@
// https://github.com/rust-lang/rust/issues/55001
#![crate_name="foo"]
// Regression test for issue #55001. Previously, we would incorrectly
// cache certain trait selection results when checking for blanket impls,
// resulting in an ICE when we tried to confirm the cached ParamCandidate

View File

@ -1,6 +1,9 @@
// https://github.com/rust-lang/rust/issues/55321
#![crate_name="foo"]
#![feature(negative_impls)]
// @has issue_55321/struct.A.html
// @has foo/struct.A.html
// @has - '//*[@id="trait-implementations-list"]//*[@class="impl"]//h3[@class="code-header"]' \
// "impl !Send for A"
// @has - '//*[@id="trait-implementations-list"]//*[@class="impl"]//h3[@class="code-header"]' \
@ -10,7 +13,7 @@ pub struct A();
impl !Send for A {}
impl !Sync for A {}
// @has issue_55321/struct.B.html
// @has foo/struct.B.html
// @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl"]//h3[@class="code-header"]' \
// "impl<T> !Send for B<T>"
// @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl"]//h3[@class="code-header"]' \

View File

@ -1,6 +1,9 @@
// https://github.com/rust-lang/rust/issues/55364
#![crate_name="foo"]
// First a module with inner documentation
// @has issue_55364/subone/index.html
// @has foo/subone/index.html
// These foo/bar links in the module's documentation should refer inside `subone`
// @has - '//section[@id="main-content"]/details[@open=""]/div[@class="docblock"]//a[@href="fn.foo.html"]' 'foo'
// @has - '//section[@id="main-content"]/details[@open=""]/div[@class="docblock"]//a[@href="fn.bar.html"]' 'bar'
@ -8,12 +11,12 @@ pub mod subone {
//! See either [foo] or [bar].
// This should refer to subone's `bar`
// @has issue_55364/subone/fn.foo.html
// @has foo/subone/fn.foo.html
// @has - '//section[@id="main-content"]/details/div[@class="docblock"]//a[@href="fn.bar.html"]' 'bar'
/// See [bar]
pub fn foo() {}
// This should refer to subone's `foo`
// @has issue_55364/subone/fn.bar.html
// @has foo/subone/fn.bar.html
// @has - '//section[@id="main-content"]/details/div[@class="docblock"]//a[@href="fn.foo.html"]' 'foo'
/// See [foo]
pub fn bar() {}
@ -21,7 +24,7 @@ pub mod subone {
// A module with outer documentation
// @has issue_55364/subtwo/index.html
// @has foo/subtwo/index.html
// These foo/bar links in the module's documentation should not reference inside `subtwo`
// @!has - '//section[@id="main-content"]/div[@class="docblock"]//a[@href="fn.foo.html"]' 'foo'
// @!has - '//section[@id="main-content"]/div[@class="docblock"]//a[@href="fn.bar.html"]' 'bar'
@ -36,13 +39,13 @@ pub mod subtwo {
// Despite the module's docs referring to the top level foo/bar,
// this should refer to subtwo's `bar`
// @has issue_55364/subtwo/fn.foo.html
// @has foo/subtwo/fn.foo.html
// @has - '//section[@id="main-content"]/details/div[@class="docblock"]//a[@href="fn.bar.html"]' 'bar'
/// See [bar]
pub fn foo() {}
// Despite the module's docs referring to the top level foo/bar,
// this should refer to subtwo's `foo`
// @has issue_55364/subtwo/fn.bar.html
// @has foo/subtwo/fn.bar.html
// @has - '//section[@id="main-content"]/details/div[@class="docblock"]//a[@href="fn.foo.html"]' 'foo'
/// See [foo]
pub fn bar() {}
@ -57,7 +60,7 @@ pub fn bar() {}
// This module refers to the outer foo/bar by means of `super::`
// @has issue_55364/subthree/index.html
// @has foo/subthree/index.html
// This module should also refer to the top level foo/bar
// @has - '//section[@id="main-content"]/details/div[@class="docblock"]//a[@href="../fn.foo.html"]' 'foo'
// @has - '//section[@id="main-content"]/details/div[@class="docblock"]//a[@href="../fn.bar.html"]' 'bar'
@ -67,7 +70,7 @@ pub mod subthree {
// Next we go *deeper* - In order to ensure it's not just "this or parent"
// we test `crate::` and a `super::super::...` chain
// @has issue_55364/subfour/subfive/subsix/subseven/subeight/index.html
// @has foo/subfour/subfive/subsix/subseven/subeight/index.html
// @has - '//section[@id="main-content"]/ul[@class="item-table"]//div[@class="desc docblock-short"]//a[@href="../../../../../subone/fn.foo.html"]' 'other foo'
// @has - '//section[@id="main-content"]/ul[@class="item-table"]//div[@class="desc docblock-short"]//a[@href="../../../../../subtwo/fn.bar.html"]' 'other bar'
pub mod subfour {