2023-03-26 15:49:52 +00:00
|
|
|
// 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: "#settings-menu"
|
|
|
|
wait-for: "#settings"
|
|
|
|
assert-property: ("#go-to-only-result", {"checked": |setting_attribute_value|})
|
|
|
|
}
|
|
|
|
)
|
|
|
|
|
2023-04-11 17:11:34 +00:00
|
|
|
go-to: "file://" + |DOC_PATH| + "/lib2/index.html"
|
2023-03-26 15:49:52 +00:00
|
|
|
|
|
|
|
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.
|
2023-04-11 17:11:34 +00:00
|
|
|
go-to: "file://" + |DOC_PATH| + "/lib2/index.html?search=HasALongTraitWithParams"
|
2023-03-26 15:49:52 +00:00
|
|
|
// 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: "#settings-menu"
|
|
|
|
wait-for: "#settings"
|
|
|
|
click: "#go-to-only-result"
|
|
|
|
assert-local-storage: {"rustdoc-go-to-only-result": "true"}
|
|
|
|
|
2023-04-11 17:11:34 +00:00
|
|
|
go-to: "file://" + |DOC_PATH| + "/lib2/index.html"
|
2023-03-26 15:49:52 +00:00
|
|
|
// We enter it into the search.
|
|
|
|
write: (".search-input", "HasALongTraitWithParams")
|
|
|
|
wait-for-document-property: {"title": "HasALongTraitWithParams in lib2 - Rust"}
|
|
|
|
assert-document-property: ({"URL": "/lib2/struct.HasALongTraitWithParams.html"}, ENDS_WITH)
|
|
|
|
|
|
|
|
// We try again to see if it goes to the only result
|
2023-04-11 17:11:34 +00:00
|
|
|
go-to: "file://" + |DOC_PATH| + "/lib2/index.html?search=HasALongTraitWithParams"
|
2023-03-26 15:49:52 +00:00
|
|
|
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"}
|
|
|
|
|
2023-04-11 17:11:34 +00:00
|
|
|
go-to: "file://" + |DOC_PATH| + "/lib2/index.html?search=HasALongTraitWithParams"
|
2023-03-26 15:49:52 +00:00
|
|
|
// 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",
|
|
|
|
})
|