// Checks that the setting "Directly go to item in search if there is only one result " is working as expected.

define-function: (
    "check-setting",
    [storage_value, setting_attribute_value],
    block {
        assert-local-storage: {"rustdoc-go-to-only-result": |storage_value|}
        click: "rustdoc-toolbar .settings-menu"
        wait-for: "#settings"
        assert-property: ("#go-to-only-result", {"checked": |setting_attribute_value|})
    }
)

go-to: "file://" + |DOC_PATH| + "/lib2/index.html"

call-function: ("check-setting", {
    "storage_value": null,
    "setting_attribute_value": "false",
})

// By default, the search doesn't automatically go to the page if there is only one result.
go-to: "file://" + |DOC_PATH| + "/lib2/index.html?search=HasALongTraitWithParams"
// It will timeout if the setting isn't working.
wait-for: "#search"
assert-document-property: ({"URL": "/lib2/index.html"}, CONTAINS)

// Now we change its value.
click: "rustdoc-toolbar .settings-menu"
wait-for: "#settings"
click: "#go-to-only-result"
assert-local-storage: {"rustdoc-go-to-only-result": "true"}

go-to: "file://" + |DOC_PATH| + "/lib2/index.html"
// We enter it into the search.
write-into: (".search-input", "HasALongTraitWithParams")
wait-for-document-property: {"title": "HasALongTraitWithParams in lib2 - Rust"}
assert-window-property: ({"location": "/lib2/struct.HasALongTraitWithParams.html"}, ENDS_WITH)

// Regression test for <https://github.com/rust-lang/rust/issues/112676>.
// If "go-to-only-result" is enabled and you go back to history, it should not lead you back to the
// page result again automatically.
history-go-back:
wait-for-document-property: {"title": "lib2 - Rust"}
assert-window-property: ({"location": "/lib2/index.html"}, ENDS_WITH)

// We try again to see if it goes to the only result
go-to: "file://" + |DOC_PATH| + "/lib2/index.html?search=HasALongTraitWithParams"
wait-for-document-property: {"title": "HasALongTraitWithParams in lib2 - Rust"}
assert-document-property: ({"URL": "/lib2/struct.HasALongTraitWithParams.html"}, ENDS_WITH)

// We check the settings
call-function: ("check-setting", {
    "storage_value": "true",
    "setting_attribute_value": "true",
})

// And now we re-disable the setting.
click: "#go-to-only-result"
assert-local-storage: {"rustdoc-go-to-only-result": "false"}

go-to: "file://" + |DOC_PATH| + "/lib2/index.html?search=HasALongTraitWithParams"
// It will timeout if the setting isn't working.
wait-for: "#search"
assert-document-property: ({"URL": "/lib2/index.html"}, CONTAINS)

// And we check everything is back the way it was before.
call-function: ("check-setting", {
    "storage_value": "false",
    "setting_attribute_value": "false",
})
