Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Add GUI test for "Directly go to item in search if there is only one …
…result" setting
  • Loading branch information
GuillaumeGomez committed Mar 26, 2023
commit bc9eec04b7e9713e7d0bde0ad4f8bfc8574082a6
63 changes: 63 additions & 0 deletions tests/rustdoc-gui/setting-go-to-only-result.goml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// 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|})
}
)

goto: "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.
goto: "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: "#settings-menu"
wait-for: "#settings"
click: "#go-to-only-result"
assert-local-storage: {"rustdoc-go-to-only-result": "true"}

goto: "file://" + |DOC_PATH| + "/lib2/index.html"
// 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
goto: "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"}

goto: "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",
})