// This test ensures that when clicking on a link which leads to an item inside a collapsed element,
// the collapsed element will be expanded.
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// We check that the implementors block is expanded.
assert-property: ("#implementations-list .implementors-toggle", {"open": "true"})
// We now collapse the implementors block.
set-property: ("#implementations-list .implementors-toggle", {"open": "false"})
// And now we click on the link to the method to ensure it'll expand the implementors block.
click: "//*[@class='sidebar']//a[@href='#method.must_use']"
assert-property: ("#implementations-list .implementors-toggle", {"open": "true"})

define-function: ("collapsed-from-search", [], block {
    // Now we do the same through search result.
    // First we reload the page without the anchor in the URL.
    go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
    // Then we collapse the section again...
    set-property: ("#implementations-list .implementors-toggle", {"open": "false"})
    // Then we run the search.
    write-into: (".search-input", "foo::must_use")
    wait-for: "//*[@id='search']//a[@href='../test_docs/struct.Foo.html#method.must_use']"
    click: "//*[@id='search']//a[@href='../test_docs/struct.Foo.html#method.must_use']"
    assert-property: ("#implementations-list .implementors-toggle", {"open": "true"})
})

call-function: ("collapsed-from-search", {})

// Now running the same check but with mobile.
set-window-size: (600, 600)
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// We check that the implementors block is expanded.
assert-property: ("#implementations-list .implementors-toggle", {"open": "true"})
// We now collapse the implementors block.
set-property: ("#implementations-list .implementors-toggle", {"open": "false"})
// First we expand the mobile menu.
click: ".sidebar-menu-toggle"
// Then we click on the link to the method to ensure it'll expand the implementors block.
click: "//*[@class='sidebar shown']//a[@href='#method.must_use']"
assert-property: ("#implementations-list .implementors-toggle", {"open": "true"})

call-function: ("collapsed-from-search", {})
