120 lines
4.5 KiB
Text
120 lines
4.5 KiB
Text
// This test is to ensure that the anchors (`§`) have the expected color and position.
|
|
include: "utils.goml"
|
|
|
|
define-function: (
|
|
"check-colors",
|
|
[theme, main_color, title_color, main_heading_color, main_heading_type_color, src_link_color, sidebar_link_color],
|
|
block {
|
|
go-to: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
|
|
// This is needed to ensure that the text color is computed.
|
|
show-text: true
|
|
|
|
call-function: ("switch-theme", {"theme": |theme|})
|
|
|
|
assert-css: ("#toggle-all-docs", {"color": |main_color|})
|
|
assert-css: (".main-heading h1 span", {"color": |main_heading_type_color|})
|
|
assert-css: (
|
|
".rightside a.src",
|
|
{"color": |src_link_color|, "text-decoration": "none"},
|
|
ALL,
|
|
)
|
|
compare-elements-css: (
|
|
".rightside a.src",
|
|
"a.rightside.src",
|
|
["color", "text-decoration"],
|
|
)
|
|
compare-elements-css: (
|
|
".main-heading a.src",
|
|
"a.rightside.src",
|
|
["color", "text-decoration"],
|
|
)
|
|
|
|
move-cursor-to: ".main-heading a.src"
|
|
assert-css: (
|
|
".main-heading a.src",
|
|
{"color": |src_link_color|, "text-decoration": "underline"},
|
|
)
|
|
move-cursor-to: ".impl-items .rightside a.src"
|
|
assert-css: (
|
|
".impl-items .rightside a.src",
|
|
{"color": |src_link_color|, "text-decoration": "none"},
|
|
)
|
|
move-cursor-to: ".impl-items a.rightside.src"
|
|
assert-css: (
|
|
".impl-items a.rightside.src",
|
|
{"color": |src_link_color|, "text-decoration": "none"},
|
|
)
|
|
|
|
// Now we ensure that the `§` anchor is "reachable" for users on trait methods.
|
|
// To ensure the anchor is not hovered, we move the cursor to another item.
|
|
move-cursor-to: "#search-button"
|
|
// By default, the anchor is not displayed.
|
|
wait-for-css: ("#method\.vroum .anchor", {"display": "none"})
|
|
// Once we move the cursor to the method, the anchor should appear.
|
|
move-cursor-to: "#method\.vroum .code-header"
|
|
assert-css-false: ("#method\.vroum .anchor", {"display": "none"})
|
|
// Now we move the cursor to the anchor to check there is no gap between the method and the
|
|
// anchor, making the anchor disappear and preventing users to click on it.
|
|
// To make it work, we need to first move it between the method and the anchor.
|
|
store-position: ("#method\.vroum .code-header", {"x": method_x, "y": method_y})
|
|
move-cursor-to: (|method_x| - 2, |method_y|)
|
|
// Anchor should still be displayed.
|
|
assert-css-false: ("#method\.vroum .anchor", {"display": "none"})
|
|
|
|
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
|
|
// Since we changed page, we need to set the theme again.
|
|
call-function: ("switch-theme", {"theme": |theme|})
|
|
|
|
assert-css: ("#top-doc-prose-title", {"color": |title_color|})
|
|
|
|
assert-css: (".sidebar .block a", {"color": |sidebar_link_color|})
|
|
assert-css: (".main-heading h1", {"color": |title_color|})
|
|
|
|
// We move the cursor over the "Implementations" title so the anchor is displayed.
|
|
move-cursor-to: "h2#implementations"
|
|
assert-css: ("h2#implementations a.anchor", {"color": |main_color|})
|
|
|
|
// Same thing with the impl block title.
|
|
move-cursor-to: "#impl-HeavilyDocumentedStruct"
|
|
assert-css: ("#impl-HeavilyDocumentedStruct a.anchor", {"color": |main_color|})
|
|
|
|
assert-css: ("#title-for-struct-impl-item-doc", {"margin-left": "0px"})
|
|
},
|
|
)
|
|
|
|
call-function: (
|
|
"check-colors",
|
|
{
|
|
"theme": "ayu",
|
|
"main_color": "#c5c5c5",
|
|
"title_color": "#fff",
|
|
"main_heading_color": "#fff",
|
|
"main_heading_type_color": "#ffa0a5",
|
|
"src_link_color": "#39afd7",
|
|
"sidebar_link_color": "#53b1db",
|
|
},
|
|
)
|
|
call-function: (
|
|
"check-colors",
|
|
{
|
|
"theme": "dark",
|
|
"main_color": "#ddd",
|
|
"title_color": "#ddd",
|
|
"main_heading_color": "#ddd",
|
|
"main_heading_type_color": "#2dbfb8",
|
|
"src_link_color": "#d2991d",
|
|
"sidebar_link_color": "#fdbf35",
|
|
},
|
|
)
|
|
call-function: (
|
|
"check-colors",
|
|
{
|
|
"theme": "light",
|
|
"main_color": "black",
|
|
"title_color": "black",
|
|
"main_heading_color": "black",
|
|
"main_heading_type_color": "#ad378a",
|
|
"src_link_color": "#3873ad",
|
|
"sidebar_link_color": "#356da4",
|
|
},
|
|
)
|