107 lines
4.7 KiB
Text
107 lines
4.7 KiB
Text
// Test that the "hide deprecated" setting is correctly handled.
|
|
|
|
include: "utils.goml"
|
|
|
|
go-to: "file://" + |DOC_PATH| + "/lib2/deprecated/index.html"
|
|
store-value: (deprecated_class, ".deprecated")
|
|
|
|
// There should be two deprecated items listed on the module page:
|
|
// `DeprecatedStruct` and `DeprecatedTrait`.
|
|
assert-count: ("dt" + |deprecated_class|, 2)
|
|
// `DeprecatedStruct` and `DeprecatedTrait` should be displayed for now.
|
|
assert-css: ("dt" + |deprecated_class|, {"display": "block"}, ALL)
|
|
|
|
// We enable the "hide deprecated items" setting.
|
|
call-function: ("open-settings-menu", {})
|
|
click: "#hide-deprecated-items"
|
|
// None of them should be displayed anymore.
|
|
wait-for-css: ("dt" + |deprecated_class|, {"display": "none"}, ALL)
|
|
|
|
// We disable the setting.
|
|
click: "#hide-deprecated-items"
|
|
// All of them should be displayed back.
|
|
wait-for-css: ("dt" + |deprecated_class|, {"display": "block"}, ALL)
|
|
|
|
// Now we go to a trait with a deprecated method and a deprecated associated const.
|
|
go-to: "file://" + |DOC_PATH| + "/lib2/deprecated/trait.NormalTrait.html"
|
|
|
|
// There should be two deprecated items.
|
|
assert-count: ("details" + |deprecated_class|, 2)
|
|
// They should be displayed for now.
|
|
assert-css: ("details" + |deprecated_class|, {"display": "block"}, ALL)
|
|
|
|
// We enable the "hide deprecated items" setting.
|
|
call-function: ("open-settings-menu", {})
|
|
click: "#hide-deprecated-items"
|
|
|
|
// They shouldn't be displayed anymore.
|
|
wait-for-css: ("details" + |deprecated_class|, {"display": "none"}, ALL)
|
|
|
|
// We disable the setting.
|
|
click: "#hide-deprecated-items"
|
|
// All of them should be displayed back.
|
|
wait-for-css: ("details" + |deprecated_class|, {"display": "block"}, ALL)
|
|
|
|
// We now go to a struct with a deprecated method which implements a deprecated trait and a trait
|
|
// with deprecated associated items.
|
|
go-to: "file://" + |DOC_PATH| + "/lib2/deprecated/struct.NonDeprecatedStruct.html"
|
|
|
|
// There should be five deprecated items (six minus one "future" deprecated)...
|
|
assert-count: ("details" + |deprecated_class|, 5)
|
|
// One of which being a deprecated impl because the trait itself is deprecated.
|
|
assert-count: ("details.implementors-toggle" + |deprecated_class|, 1)
|
|
// And another has `since = "TBD"` and should NOT have the `deprecated` class.
|
|
assert: "details:not(" + |deprecated_class| + ") #method\.future_deprecated_fn"
|
|
// They should all be displayed for now.
|
|
assert-css: ("details" + |deprecated_class|, {"display": "block"}, ALL)
|
|
|
|
// We enable the "hide deprecated items" setting.
|
|
call-function: ("open-settings-menu", {})
|
|
click: "#hide-deprecated-items"
|
|
|
|
// They shouldn't be displayed anymore.
|
|
wait-for-css: ("details" + |deprecated_class|, {"display": "none"}, ALL)
|
|
|
|
// We disable the setting.
|
|
click: "#hide-deprecated-items"
|
|
// All of them should be displayed back.
|
|
wait-for-css: ("details" + |deprecated_class|, {"display": "block"}, ALL)
|
|
|
|
// And now we check with the search results.
|
|
call-function: ("perform-search", {"query": "deprecated::depr"})
|
|
// There should be at least 7 results.
|
|
store-count: ("#results ul.search-results.active > a", nb_search_results)
|
|
assert: |nb_search_results| >= 7
|
|
// There should be at least 5 deprecated items.
|
|
store-count: ("#results ul.search-results.active > a" + |deprecated_class|, nb_deprecated_results)
|
|
assert: |nb_search_results| >= 5
|
|
// Deprecated items should all be displayed.
|
|
assert-css: ("#results ul.search-results.active > a" + |deprecated_class|, {"display": "grid"}, ALL)
|
|
// The "X deprecated items hidden by setting" element should not be displayed.
|
|
assert-text: (
|
|
"#results ul.search-results.active .deprecated-count",
|
|
"5 deprecated items hidden by setting",
|
|
)
|
|
assert-css: ("#results ul.search-results.active .deprecated-count", {"display": "none"})
|
|
// We enable the "hide deprecated items" setting.
|
|
call-function: ("open-settings-menu", {})
|
|
click: "#hide-deprecated-items"
|
|
// None of them should be displayed anymore.
|
|
wait-for-css: (
|
|
"#results ul.search-results.active > a" + |deprecated_class|,
|
|
{"display": "none"},
|
|
ALL,
|
|
)
|
|
// The "X deprecated items hidden by setting" element should be displayed.
|
|
assert-css: ("#results ul.search-results.active .deprecated-count", {"display": "block"})
|
|
|
|
// Finally we check that the future deprecated item doesn't have the deprecated class in the search
|
|
// and therefore isn't impacted by the setting.
|
|
call-function: ("perform-search", {"query": '"future_deprecated_fn"'})
|
|
assert-text: (
|
|
"#results ul.search-results.active > a:not(" + |deprecated_class| + ") .path",
|
|
" lib2::deprecated::NonDeprecatedStruct::future_deprecated_fn",
|
|
)
|
|
// The "X deprecated items hidden by setting" element should now be empty, and therefore not displayed.
|
|
assert-text: ("#results ul.search-results.active .deprecated-count", "")
|
|
assert-css: ("#results ul.search-results.active .deprecated-count", {"display": "none"})
|