summaryrefslogtreecommitdiff
path: root/tests/rustdoc/nested-items-issue-111415.rs
blob: 9b7688c332c44e05691f6d38cff157e1635bff70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Regression test for <https://github.com/rust-lang/rust/issues/111415>.
// This test ensures that only impl blocks are documented in bodies.

#![crate_name = "foo"]

// @has 'foo/index.html'
// Checking there are only three sections.
// @count - '//*[@id="main-content"]/*[@class="small-section-header"]' 3
// @has - '//*[@id="main-content"]/*[@class="small-section-header"]' 'Structs'
// @has - '//*[@id="main-content"]/*[@class="small-section-header"]' 'Functions'
// @has - '//*[@id="main-content"]/*[@class="small-section-header"]' 'Traits'
// Checking that there are only three items.
// @count - '//*[@id="main-content"]//*[@class="item-name"]' 3
// @has - '//*[@id="main-content"]//a[@href="struct.Bar.html"]' 'Bar'
// @has - '//*[@id="main-content"]//a[@href="fn.foo.html"]' 'foo'
// @has - '//*[@id="main-content"]//a[@href="trait.Foo.html"]' 'Foo'

// Now checking that the `foo` method is visible in `Bar` page.
// @has 'foo/struct.Bar.html'
// @has - '//*[@id="method.foo"]/*[@class="code-header"]' 'pub fn foo()'
// @has - '//*[@id="method.bar"]/*[@class="code-header"]' 'fn bar()'
pub struct Bar;

pub trait Foo {
    fn bar() {}
}

pub fn foo() {
    pub mod inaccessible {}
    pub fn inner() {}
    pub const BAR: u32 = 0;
    impl Bar {
        pub fn foo() {}
    }
    impl Foo for Bar {}
}