mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-30 14:01:51 +00:00
161 lines
6.1 KiB
Plaintext
161 lines
6.1 KiB
Plaintext
// Checking the colors of the search tab headers.
|
||
go-to: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html?search=foo"
|
||
show-text: true
|
||
|
||
define-function: (
|
||
"check-colors",
|
||
(theme, background, background_selected, background_hover, border_bottom,
|
||
border_bottom_selected, border_bottom_hover, border_top, border_top_selected,
|
||
border_top_hover),
|
||
block {
|
||
// Setting the theme.
|
||
set-local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
|
||
reload:
|
||
|
||
// These two commands are used to be sure the search will be run.
|
||
focus: ".search-input"
|
||
press-key: "Enter"
|
||
|
||
wait-for: "#search-tabs"
|
||
assert-css: ("#search-tabs > button:not(.selected)", {
|
||
"background-color": |background|,
|
||
"border-bottom": |border_bottom|,
|
||
"border-top": |border_top|,
|
||
})
|
||
assert-css: ("#search-tabs > button.selected", {
|
||
"background-color": |background_selected|,
|
||
"border-bottom": |border_bottom_selected|,
|
||
"border-top": |border_top_selected|,
|
||
})
|
||
move-cursor-to: "#search-tabs > button:not(.selected)"
|
||
assert-css: ("#search-tabs > button:not(.selected):hover", {
|
||
"background-color": |background_hover|,
|
||
"border-bottom": |border_bottom_hover|,
|
||
"border-top": |border_top_hover|,
|
||
})
|
||
// To prevent disrupting next run of this function.
|
||
move-cursor-to: ".search-input"
|
||
},
|
||
)
|
||
|
||
call-function: ("check-colors", {
|
||
"theme": "ayu",
|
||
"background": "transparent",
|
||
"background_selected": "#141920",
|
||
"background_hover": "transparent",
|
||
"border_bottom": "0px none #c5c5c5",
|
||
"border_bottom_selected": "1px solid #ffb44c",
|
||
"border_bottom_hover": "1px solid rgba(242, 151, 24, 0.3)",
|
||
"border_top": "0px none #c5c5c5",
|
||
"border_top_selected": "0px none #c5c5c5",
|
||
"border_top_hover": "0px none #c5c5c5",
|
||
})
|
||
call-function: ("check-colors", {
|
||
"theme": "dark",
|
||
"background": "#252525",
|
||
"background_selected": "#353535",
|
||
"background_hover": "#353535",
|
||
"border_bottom": "0px none #ddd",
|
||
"border_bottom_selected": "0px none #ddd",
|
||
"border_bottom_hover": "0px none #ddd",
|
||
"border_top": "2px solid #252525",
|
||
"border_top_selected": "2px solid #0089ff",
|
||
"border_top_hover": "2px solid #0089ff",
|
||
})
|
||
call-function: ("check-colors", {
|
||
"theme": "light",
|
||
"background": "#e6e6e6",
|
||
"background_selected": "#fff",
|
||
"background_hover": "#fff",
|
||
"border_bottom": "0px none #000",
|
||
"border_bottom_selected": "0px none #000",
|
||
"border_bottom_hover": "0px none #000",
|
||
"border_top": "2px solid #e6e6e6",
|
||
"border_top_selected": "2px solid #0089ff",
|
||
"border_top_hover": "2px solid #0089ff",
|
||
})
|
||
|
||
// set size wide enough that the text is in a single row
|
||
set-window-size: (851, 600)
|
||
|
||
// Check the size and count in tabs
|
||
assert-text: ("#search-tabs > button:nth-child(1) > .count", " (25) ")
|
||
assert-text: ("#search-tabs > button:nth-child(2) > .count", " (6) ")
|
||
assert-text: ("#search-tabs > button:nth-child(3) > .count", " (0) ")
|
||
store-property: ("#search-tabs > button:nth-child(1)", {"offsetWidth": buttonWidth})
|
||
assert-property: ("#search-tabs > button:nth-child(2)", {"offsetWidth": |buttonWidth|})
|
||
assert-property: ("#search-tabs > button:nth-child(3)", {"offsetWidth": |buttonWidth|})
|
||
store-property: ("#search-tabs > button:nth-child(1) > .count", {"offsetWidth": countWidth})
|
||
assert-property: ("#search-tabs > button:nth-child(2) > .count", {"offsetWidth": |countWidth|})
|
||
assert-property: ("#search-tabs > button:nth-child(3) > .count", {"offsetWidth": |countWidth|})
|
||
|
||
// Check that counts are in a row with each other
|
||
compare-elements-position: (
|
||
"#search-tabs > button:nth-child(1) > .count",
|
||
"#search-tabs > button:nth-child(2) > .count",
|
||
("y")
|
||
)
|
||
compare-elements-position: (
|
||
"#search-tabs > button:nth-child(2) > .count",
|
||
"#search-tabs > button:nth-child(3) > .count",
|
||
("y")
|
||
)
|
||
// Check that counts are beside the titles and haven't wrapped
|
||
compare-elements-position-near: (
|
||
"#search-tabs > button:nth-child(1)",
|
||
"#search-tabs > button:nth-child(1) > .count",
|
||
{"y": 8}
|
||
)
|
||
compare-elements-position-near: (
|
||
"#search-tabs > button:nth-child(2)",
|
||
"#search-tabs > button:nth-child(2) > .count",
|
||
{"y": 8}
|
||
)
|
||
compare-elements-position-near: (
|
||
"#search-tabs > button:nth-child(2)",
|
||
"#search-tabs > button:nth-child(2) > .count",
|
||
{"y": 8}
|
||
)
|
||
|
||
// Set size narrow enough that they wrap.
|
||
// When I tested it, it wrapped at 811px, but I added some fudge factor to ensure it
|
||
// doesn't prematurely wrap with slightly different font kerning or whatever, with a
|
||
// @media query
|
||
set-window-size: (850, 600)
|
||
|
||
// all counts and buttons still have same size
|
||
store-property: ("#search-tabs > button:nth-child(1)", {"offsetWidth": buttonWidth})
|
||
assert-property: ("#search-tabs > button:nth-child(2)", {"offsetWidth": |buttonWidth|})
|
||
assert-property: ("#search-tabs > button:nth-child(3)", {"offsetWidth": |buttonWidth|})
|
||
store-property: ("#search-tabs > button:nth-child(1) > .count", {"offsetWidth": countWidth})
|
||
assert-property: ("#search-tabs > button:nth-child(2) > .count", {"offsetWidth": |countWidth|})
|
||
assert-property: ("#search-tabs > button:nth-child(3) > .count", {"offsetWidth": |countWidth|})
|
||
|
||
// Check that counts are still in a row with each other
|
||
compare-elements-position: (
|
||
"#search-tabs > button:nth-child(1) > .count",
|
||
"#search-tabs > button:nth-child(2) > .count",
|
||
("y")
|
||
)
|
||
compare-elements-position: (
|
||
"#search-tabs > button:nth-child(2) > .count",
|
||
"#search-tabs > button:nth-child(3) > .count",
|
||
("y")
|
||
)
|
||
// Check that counts are NOT beside the titles; now they have wrapped
|
||
compare-elements-position-near-false: (
|
||
"#search-tabs > button:nth-child(1)",
|
||
"#search-tabs > button:nth-child(1) > .count",
|
||
{"y": 8}
|
||
)
|
||
compare-elements-position-near-false: (
|
||
"#search-tabs > button:nth-child(2)",
|
||
"#search-tabs > button:nth-child(2) > .count",
|
||
{"y": 8}
|
||
)
|
||
compare-elements-position-near-false: (
|
||
"#search-tabs > button:nth-child(2)",
|
||
"#search-tabs > button:nth-child(2) > .count",
|
||
{"y": 8}
|
||
)
|