Update rustdoc-gui test to new browser-ui-test version

This commit is contained in:
Guillaume Gomez 2022-10-07 20:17:05 +02:00
parent 6d4013d983
commit 8d19d53c60
77 changed files with 149 additions and 149 deletions

View File

@ -4,7 +4,7 @@
// anchor and the `impl Foo`. If there were a gap, this would cause an annoying // anchor and the `impl Foo`. If there were a gap, this would cause an annoying
// problem: you hover `impl Foo` to see the anchor, then when you move your // problem: you hover `impl Foo` to see the anchor, then when you move your
// mouse to the left, the anchor disappears before you reach it. // mouse to the left, the anchor disappears before you reach it.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// We check that ".item-info" is bigger than its content. // We check that ".item-info" is bigger than its content.
move-cursor-to: ".impl" move-cursor-to: ".impl"
assert-property: (".impl > a.anchor", {"offsetWidth": "8"}) assert-property: (".impl > a.anchor", {"offsetWidth": "8"})

View File

@ -1,5 +1,5 @@
// This test is to ensure that the anchors (`§`) have the expected color and position. // This test is to ensure that the anchors (`§`) have the expected color and position.
goto: file://|DOC_PATH|/staged_api/struct.Foo.html goto: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
// This is needed to ensure that the text color is computed. // This is needed to ensure that the text color is computed.
show-text: true show-text: true
@ -36,7 +36,7 @@ assert-css: (
{"color": "rgb(56, 115, 173)", "text-decoration": "none solid rgb(56, 115, 173)"}, {"color": "rgb(56, 115, 173)", "text-decoration": "none solid rgb(56, 115, 173)"},
) )
goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
assert-css: ("#top-doc-prose-title", {"color": "rgb(0, 0, 0)"}) assert-css: ("#top-doc-prose-title", {"color": "rgb(0, 0, 0)"})
@ -57,7 +57,7 @@ assert-css: ("#title-for-struct-impl-item-doc", {"margin-left": "0px"})
// We do the same checks with the dark theme now. // We do the same checks with the dark theme now.
// //
local-storage: {"rustdoc-theme": "dark", "rustdoc-use-system-theme": "false"} local-storage: {"rustdoc-theme": "dark", "rustdoc-use-system-theme": "false"}
goto: file://|DOC_PATH|/staged_api/struct.Foo.html goto: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
assert-css: ("#toggle-all-docs", {"color": "rgb(221, 221, 221)"}) assert-css: ("#toggle-all-docs", {"color": "rgb(221, 221, 221)"})
assert-css: (".fqn a:nth-of-type(1)", {"color": "rgb(221, 221, 221)"}) assert-css: (".fqn a:nth-of-type(1)", {"color": "rgb(221, 221, 221)"})
@ -86,7 +86,7 @@ assert-css: (
{"color": "rgb(210, 153, 29)", "text-decoration": "none solid rgb(210, 153, 29)"}, {"color": "rgb(210, 153, 29)", "text-decoration": "none solid rgb(210, 153, 29)"},
) )
goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
assert-css: ("#top-doc-prose-title", {"color": "rgb(221, 221, 221)"}) assert-css: ("#top-doc-prose-title", {"color": "rgb(221, 221, 221)"})
@ -107,7 +107,7 @@ assert-css: ("#title-for-struct-impl-item-doc", {"margin-left": "0px"})
// We do the same checks with the ayu theme now. // We do the same checks with the ayu theme now.
// //
local-storage: {"rustdoc-theme": "ayu", "rustdoc-use-system-theme": "false"} local-storage: {"rustdoc-theme": "ayu", "rustdoc-use-system-theme": "false"}
goto: file://|DOC_PATH|/staged_api/struct.Foo.html goto: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
assert-css: ("#toggle-all-docs", {"color": "rgb(197, 197, 197)"}) assert-css: ("#toggle-all-docs", {"color": "rgb(197, 197, 197)"})
assert-css: (".fqn a:nth-of-type(1)", {"color": "rgb(255, 255, 255)"}) assert-css: (".fqn a:nth-of-type(1)", {"color": "rgb(255, 255, 255)"})
@ -136,7 +136,7 @@ assert-css: (
{"color": "rgb(57, 175, 215)", "text-decoration": "none solid rgb(57, 175, 215)"}, {"color": "rgb(57, 175, 215)", "text-decoration": "none solid rgb(57, 175, 215)"},
) )
goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
assert-css: ("#top-doc-prose-title", {"color": "rgb(255, 255, 255)"}) assert-css: ("#top-doc-prose-title", {"color": "rgb(255, 255, 255)"})

View File

@ -1,5 +1,5 @@
// Checks that the setting "auto hide trait implementations" is working as expected. // Checks that the setting "auto hide trait implementations" is working as expected.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// By default, the trait implementations are not collapsed. // By default, the trait implementations are not collapsed.
assert-attribute: ("#trait-implementations-list > details", {"open": ""}, ALL) assert-attribute: ("#trait-implementations-list > details", {"open": ""}, ALL)

View File

@ -1,3 +1,3 @@
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
click: ".srclink" click: ".srclink"
assert-count: (".src-line-numbers", 1) assert-count: (".src-line-numbers", 1)

View File

@ -1,4 +1,4 @@
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert: ("#functions") assert: ("#functions")
goto: ./struct.Foo.html goto: "./struct.Foo.html"
assert: ("div.item-decl") assert: ("div.item-decl")

View File

@ -1,5 +1,5 @@
// This test ensures that the docblock elements have the appropriate left margin. // This test ensures that the docblock elements have the appropriate left margin.
goto: file://|DOC_PATH|/test_docs/fn.foo.html goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
// The top docblock elements shouldn't have left margin... // The top docblock elements shouldn't have left margin...
assert-css: ("#main-content .item-decl", {"margin-left": "0px"}) assert-css: ("#main-content .item-decl", {"margin-left": "0px"})
// ... but all the others should! // ... but all the others should!

View File

@ -1,6 +1,6 @@
// This test checks that using `.stab` attributes in `.docblock` elements doesn't // This test checks that using `.stab` attributes in `.docblock` elements doesn't
// create scrollable paragraphs. // create scrollable paragraphs.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
// Needs the text to be display to check for scrollable content. // Needs the text to be display to check for scrollable content.
show-text: true show-text: true
size: (786, 600) size: (786, 600)

View File

@ -1,7 +1,7 @@
// This test checks the position of the information on the code blocks (like // This test checks the position of the information on the code blocks (like
// `compile_fail` or `ignore`). // `compile_fail` or `ignore`).
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
goto: ./fn.check_list_code_block.html goto: "./fn.check_list_code_block.html"
// If the codeblock is the first element of the docblock, the information tooltip must have // If the codeblock is the first element of the docblock, the information tooltip must have
// have some top margin to avoid going over the toggle (the "[+]"). // have some top margin to avoid going over the toggle (the "[+]").
assert-css: (".docblock > .example-wrap.compile_fail .tooltip", { "margin-top": "16px" }) assert-css: (".docblock > .example-wrap.compile_fail .tooltip", { "margin-top": "16px" })

View File

@ -1,5 +1,5 @@
// This test ensures that codeblocks content don't overflow. // This test ensures that codeblocks content don't overflow.
goto: file://|DOC_PATH|/lib2/sub_mod/struct.Foo.html goto: "file://" + |DOC_PATH| + "/lib2/sub_mod/struct.Foo.html"
size: (1080, 600) size: (1080, 600)
// There should be two codeblocks: a rust one and a non-rust one. // There should be two codeblocks: a rust one and a non-rust one.
assert-count: (".docblock > .example-wrap", 2) assert-count: (".docblock > .example-wrap", 2)

View File

@ -2,7 +2,7 @@
// check that the rule isn't applied on other "<code>" elements. // check that the rule isn't applied on other "<code>" elements.
// //
// While we're at it, we also check it for the other themes. // While we're at it, we also check it for the other themes.
goto: file://|DOC_PATH|/test_docs/fn.foo.html goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
// If the text isn't displayed, the browser doesn't compute color style correctly... // If the text isn't displayed, the browser doesn't compute color style correctly...
show-text: true show-text: true
// Set the theme to dark. // Set the theme to dark.

View File

@ -1,5 +1,5 @@
// This test checks that the source code pages sidebar toggle is working as expected. // This test checks that the source code pages sidebar toggle is working as expected.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
click: ".srclink" click: ".srclink"
wait-for: "#sidebar-toggle" wait-for: "#sidebar-toggle"
click: "#sidebar-toggle" click: "#sidebar-toggle"

View File

@ -1,5 +1,5 @@
// This test ensures that items and documentation code blocks are wrapped in <pre><code> // This test ensures that items and documentation code blocks are wrapped in <pre><code>
goto: file://|DOC_PATH|/test_docs/fn.foo.html goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
size: (1080, 600) size: (1080, 600)
// There should be four doc codeblocks. // There should be four doc codeblocks.
// Check that their content is inside <pre><code> // Check that their content is inside <pre><code>
@ -7,14 +7,14 @@ assert-count: (".example-wrap pre > code", 4)
// Check that function signature is inside <pre><code> // Check that function signature is inside <pre><code>
assert: "pre.rust.fn > code" assert: "pre.rust.fn > code"
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
assert: "pre.rust.struct > code" assert: "pre.rust.struct > code"
goto: file://|DOC_PATH|/test_docs/enum.AnEnum.html goto: "file://" + |DOC_PATH| + "/test_docs/enum.AnEnum.html"
assert: "pre.rust.enum > code" assert: "pre.rust.enum > code"
goto: file://|DOC_PATH|/test_docs/trait.AnotherOne.html goto: "file://" + |DOC_PATH| + "/test_docs/trait.AnotherOne.html"
assert: "pre.rust.trait > code" assert: "pre.rust.trait > code"
goto: file://|DOC_PATH|/test_docs/type.SomeType.html goto: "file://" + |DOC_PATH| + "/test_docs/type.SomeType.html"
assert: "pre.rust.typedef > code" assert: "pre.rust.typedef > code"

View File

@ -1,5 +1,5 @@
// Checking the colors of the codeblocks tooltips. // Checking the colors of the codeblocks tooltips.
goto: file://|DOC_PATH|/test_docs/fn.foo.html goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
show-text: true show-text: true
// Dark theme. // Dark theme.

View File

@ -2,7 +2,7 @@
// //
// The "settings" crate uses "ayu" as default setting, which is what we will // The "settings" crate uses "ayu" as default setting, which is what we will
// check. // check.
goto: file://|DOC_PATH|/settings/index.html goto: "file://" + |DOC_PATH| + "/settings/index.html"
// Wait a bit to be sure the default theme is applied. // Wait a bit to be sure the default theme is applied.
// If the theme isn't applied, the command will time out. // If the theme isn't applied, the command will time out.
wait-for-css: ("body", {"background-color": "rgb(15, 20, 25)"}) wait-for-css: ("body", {"background-color": "rgb(15, 20, 25)"})

View File

@ -1,7 +1,7 @@
// If we have a long `<code>`, we need to ensure that it'll be fully displayed on mobile, meaning // If we have a long `<code>`, we need to ensure that it'll be fully displayed on mobile, meaning
// that it'll be on two lines. // that it'll be on two lines.
emulate: "iPhone 8" // it has the following size: (375, 667) emulate: "iPhone 8" // it has the following size: (375, 667)
goto: file://|DOC_PATH|/test_docs/long_code_block/index.html goto: "file://" + |DOC_PATH| + "/test_docs/long_code_block/index.html"
// We now check that the block is on two lines: // We now check that the block is on two lines:
show-text: true // We need to enable text draw to be able to have the "real" size show-text: true // We need to enable text draw to be able to have the "real" size
// Little explanations for this test: if the text wasn't displayed on two lines, it would take // Little explanations for this test: if the text wasn't displayed on two lines, it would take

View File

@ -1,5 +1,5 @@
// Checks that the setting "line numbers" is working as expected. // Checks that the setting "line numbers" is working as expected.
goto: file://|DOC_PATH|/test_docs/fn.foo.html goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
// We check that without this setting, there is no line number displayed. // We check that without this setting, there is no line number displayed.
assert-false: "pre.example-line-numbers" assert-false: "pre.example-line-numbers"

View File

@ -1,5 +1,5 @@
// This ensures that the `<details>`/`<summary>` elements are displayed as expected. // This ensures that the `<details>`/`<summary>` elements are displayed as expected.
goto: file://|DOC_PATH|/test_docs/details/struct.Details.html goto: "file://" + |DOC_PATH| + "/test_docs/details/struct.Details.html"
show-text: true show-text: true
local-storage: {"rustdoc-theme": "dark", "rustdoc-use-system-theme": "false"} local-storage: {"rustdoc-theme": "dark", "rustdoc-use-system-theme": "false"}
reload: reload:

View File

@ -1,5 +1,5 @@
// This test ensures that the type declaration content overflow is handled inside the <pre> directly. // This test ensures that the type declaration content overflow is handled inside the <pre> directly.
goto: file://|DOC_PATH|/lib2/long_table/struct.Foo.html goto: "file://" + |DOC_PATH| + "/lib2/long_table/struct.Foo.html"
// We set a fixed size so there is no chance of "random" resize. // We set a fixed size so there is no chance of "random" resize.
size: (1100, 800) size: (1100, 800)
// Logically, the ".docblock" and the "<p>" should have the same scroll width. // Logically, the ".docblock" and the "<p>" should have the same scroll width.

View File

@ -1,4 +1,4 @@
goto: file://|DOC_PATH|/test_docs/doc_block_table/struct.DocBlockTable.html#method.func goto: "file://" + |DOC_PATH| + "/test_docs/doc_block_table/struct.DocBlockTable.html#method.func"
compare-elements-css: (".impl-items .docblock table th", ".top-doc .docblock table th", ["border"]) compare-elements-css: (".impl-items .docblock table th", ".top-doc .docblock table th", ["border"])
compare-elements-css: (".impl-items .docblock table td", ".top-doc .docblock table td", ["border"]) compare-elements-css: (".impl-items .docblock table td", ".top-doc .docblock table td", ["border"])

View File

@ -1,5 +1,5 @@
// This test ensures that there is no macro duplicates in the sidebar. // This test ensures that there is no macro duplicates in the sidebar.
goto: file://|DOC_PATH|/test_docs/macro.a.html goto: "file://" + |DOC_PATH| + "/test_docs/macro.a.html"
// Waiting for the elements in the sidebar to be rendered. // Waiting for the elements in the sidebar to be rendered.
wait-for: ".sidebar-elems .macro" wait-for: ".sidebar-elems .macro"
// Check there is only one macro named "a" listed in the sidebar. // Check there is only one macro named "a" listed in the sidebar.

View File

@ -1,6 +1,6 @@
// This test ensures that the "Escape" shortcut is handled correctly based on the // This test ensures that the "Escape" shortcut is handled correctly based on the
// current content displayed. // current content displayed.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
// First, we check that the search results are hidden when the Escape key is pressed. // First, we check that the search results are hidden when the Escape key is pressed.
write: (".search-input", "test") write: (".search-input", "test")
// To be SURE that the search will be run. // To be SURE that the search will be run.

View File

@ -1,5 +1,5 @@
// This test checks that the font weight is correctly applied. // This test checks that the font weight is correctly applied.
goto: file://|DOC_PATH|/lib2/struct.Foo.html goto: "file://" + |DOC_PATH| + "/lib2/struct.Foo.html"
assert-css: ("//*[@class='item-decl']//a[text()='Alias']", {"font-weight": "400"}) assert-css: ("//*[@class='item-decl']//a[text()='Alias']", {"font-weight": "400"})
assert-css: ( assert-css: (
"//*[@class='structfield small-section-header']//a[text()='Alias']", "//*[@class='structfield small-section-header']//a[text()='Alias']",
@ -9,13 +9,13 @@ assert-css: ("#method\.a_method > .code-header", {"font-weight": "600"})
assert-css: ("#associatedtype\.X > .code-header", {"font-weight": "600"}) assert-css: ("#associatedtype\.X > .code-header", {"font-weight": "600"})
assert-css: ("#associatedconstant\.Y > .code-header", {"font-weight": "600"}) assert-css: ("#associatedconstant\.Y > .code-header", {"font-weight": "600"})
goto: file://|DOC_PATH|/test_docs/type.SomeType.html goto: "file://" + |DOC_PATH| + "/test_docs/type.SomeType.html"
assert-css: (".top-doc .docblock p", {"font-weight": "400"}, ALL) assert-css: (".top-doc .docblock p", {"font-weight": "400"}, ALL)
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
assert-css: (".impl-items .method > .code-header", {"font-weight": "600"}, ALL) assert-css: (".impl-items .method > .code-header", {"font-weight": "600"}, ALL)
goto: file://|DOC_PATH|/lib2/trait.Trait.html goto: "file://" + |DOC_PATH| + "/lib2/trait.Trait.html"
// This is a complex selector, so here's how it works: // This is a complex selector, so here's how it works:
// //

View File

@ -1,5 +1,5 @@
// This test ensures that the element corresponding to the hash is displayed. // This test ensures that the element corresponding to the hash is displayed.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html#method.borrow goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#method.borrow"
// In the blanket implementations list, "Borrow" is the second one, hence the ":nth(2)". // In the blanket implementations list, "Borrow" is the second one, hence the ":nth(2)".
assert-attribute: ("#blanket-implementations-list > details:nth-child(2)", {"open": ""}) assert-attribute: ("#blanket-implementations-list > details:nth-child(2)", {"open": ""})
// We first check that the impl block is open by default. // We first check that the impl block is open by default.

View File

@ -1,5 +1,5 @@
// This test check for headers text and background colors for the different themes. // This test check for headers text and background colors for the different themes.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// This is needed so that the text color is computed. // This is needed so that the text color is computed.
show-text: true show-text: true
@ -23,23 +23,23 @@ assert-css: (
ALL, ALL,
) )
goto: file://|DOC_PATH|/test_docs/struct.Foo.html#impl-Foo goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#impl-Foo"
assert-css: ( assert-css: (
"#impl-Foo", "#impl-Foo",
{"color": "rgb(197, 197, 197)", "background-color": "rgba(255, 236, 164, 0.06)"}, {"color": "rgb(197, 197, 197)", "background-color": "rgba(255, 236, 164, 0.06)"},
) )
goto: file://|DOC_PATH|/test_docs/struct.Foo.html#method.must_use goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#method.must_use"
assert-css: ( assert-css: (
"#method\.must_use", "#method\.must_use",
{"color": "rgb(197, 197, 197)", "background-color": "rgba(255, 236, 164, 0.06)"}, {"color": "rgb(197, 197, 197)", "background-color": "rgba(255, 236, 164, 0.06)"},
ALL, ALL,
) )
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-css: (".small-section-header a", {"color": "rgb(197, 197, 197)"}, ALL) assert-css: (".small-section-header a", {"color": "rgb(197, 197, 197)"}, ALL)
goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
// We select headings (h2, h3, h...). // We select headings (h2, h3, h...).
assert-css: (".docblock > :not(p) > a", {"color": "rgb(57, 175, 215)"}, ALL) assert-css: (".docblock > :not(p) > a", {"color": "rgb(57, 175, 215)"}, ALL)
@ -49,7 +49,7 @@ local-storage: {
"rustdoc-preferred-dark-theme": "dark", "rustdoc-preferred-dark-theme": "dark",
"rustdoc-use-system-theme": "false", "rustdoc-use-system-theme": "false",
} }
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
assert-css: ( assert-css: (
".impl", ".impl",
@ -62,23 +62,23 @@ assert-css: (
ALL, ALL,
) )
goto: file://|DOC_PATH|/test_docs/struct.Foo.html#impl-Foo goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#impl-Foo"
assert-css: ( assert-css: (
"#impl-Foo", "#impl-Foo",
{"color": "rgb(221, 221, 221)", "background-color": "rgb(73, 74, 61)"}, {"color": "rgb(221, 221, 221)", "background-color": "rgb(73, 74, 61)"},
) )
goto: file://|DOC_PATH|/test_docs/struct.Foo.html#method.must_use goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#method.must_use"
assert-css: ( assert-css: (
"#method\.must_use", "#method\.must_use",
{"color": "rgb(221, 221, 221)", "background-color": "rgb(73, 74, 61)"}, {"color": "rgb(221, 221, 221)", "background-color": "rgb(73, 74, 61)"},
ALL, ALL,
) )
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-css: (".small-section-header a", {"color": "rgb(221, 221, 221)"}, ALL) assert-css: (".small-section-header a", {"color": "rgb(221, 221, 221)"}, ALL)
goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
// We select headings (h2, h3, h...). // We select headings (h2, h3, h...).
assert-css: (".docblock > :not(p) > a", {"color": "rgb(210, 153, 29)"}, ALL) assert-css: (".docblock > :not(p) > a", {"color": "rgb(210, 153, 29)"}, ALL)
@ -86,7 +86,7 @@ assert-css: (".docblock > :not(p) > a", {"color": "rgb(210, 153, 29)"}, ALL)
local-storage: {"rustdoc-theme": "light", "rustdoc-use-system-theme": "false"} local-storage: {"rustdoc-theme": "light", "rustdoc-use-system-theme": "false"}
reload: reload:
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
assert-css: ( assert-css: (
".impl", ".impl",
@ -99,19 +99,19 @@ assert-css: (
ALL, ALL,
) )
goto: file://|DOC_PATH|/test_docs/struct.Foo.html#impl-Foo goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#impl-Foo"
assert-css: ("#impl-Foo", {"color": "rgb(0, 0, 0)", "background-color": "rgb(253, 255, 211)"}) assert-css: ("#impl-Foo", {"color": "rgb(0, 0, 0)", "background-color": "rgb(253, 255, 211)"})
goto: file://|DOC_PATH|/test_docs/struct.Foo.html#method.must_use goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#method.must_use"
assert-css: ( assert-css: (
"#method\.must_use", "#method\.must_use",
{"color": "rgb(0, 0, 0)", "background-color": "rgb(253, 255, 211)"}, {"color": "rgb(0, 0, 0)", "background-color": "rgb(253, 255, 211)"},
ALL, ALL,
) )
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-css: (".small-section-header a", {"color": "rgb(0, 0, 0)"}, ALL) assert-css: (".small-section-header a", {"color": "rgb(0, 0, 0)"}, ALL)
goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
// We select headings (h2, h3, h...). // We select headings (h2, h3, h...).
assert-css: (".docblock > :not(p) > a", {"color": "rgb(56, 115, 173)"}, ALL) assert-css: (".docblock > :not(p) > a", {"color": "rgb(56, 115, 173)"}, ALL)

View File

@ -11,7 +11,7 @@
// 18px 1.125em // 18px 1.125em
// 16px 1rem // 16px 1rem
// 14px 0.875rem // 14px 0.875rem
goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
assert-css: ("h1.fqn", {"font-size": "24px"}) assert-css: ("h1.fqn", {"font-size": "24px"})
@ -50,7 +50,7 @@ assert-css: ("h6#sub-heading-for-struct-impl-item-doc", {"font-size": "14px"})
assert-css: ("h6#sub-heading-for-struct-impl-item-doc", {"border-bottom-width": "0px"}) assert-css: ("h6#sub-heading-for-struct-impl-item-doc", {"border-bottom-width": "0px"})
assert-css: ("h6#sub-sub-heading-for-struct-impl-item-doc", {"font-size": "14px"}) assert-css: ("h6#sub-sub-heading-for-struct-impl-item-doc", {"font-size": "14px"})
goto: file://|DOC_PATH|/test_docs/enum.HeavilyDocumentedEnum.html goto: "file://" + |DOC_PATH| + "/test_docs/enum.HeavilyDocumentedEnum.html"
assert-css: ("h1.fqn", {"font-size": "24px"}) assert-css: ("h1.fqn", {"font-size": "24px"})
@ -109,7 +109,7 @@ assert-css: ("h6#sub-sub-heading-for-enum-impl-item-doc", {"border-bottom-width"
assert-text: (".sidebar .mod h3", "Modules") assert-text: (".sidebar .mod h3", "Modules")
assert-css: (".sidebar .mod h3", {"border-bottom-width": "0px"}, ALL) assert-css: (".sidebar .mod h3", {"border-bottom-width": "0px"}, ALL)
goto: file://|DOC_PATH|/test_docs/union.HeavilyDocumentedUnion.html goto: "file://" + |DOC_PATH| + "/test_docs/union.HeavilyDocumentedUnion.html"
assert-css: ("h1.fqn", {"font-size": "24px"}) assert-css: ("h1.fqn", {"font-size": "24px"})
@ -141,7 +141,7 @@ assert-css: ("h5#title-for-union-impl-item-doc", {"border-bottom-width": "0px"})
assert-css: ("h6#sub-heading-for-union-impl-item-doc", {"font-size": "14px"}) assert-css: ("h6#sub-heading-for-union-impl-item-doc", {"font-size": "14px"})
assert-css: ("h6#sub-heading-for-union-impl-item-doc", {"border-bottom-width": "0px"}) assert-css: ("h6#sub-heading-for-union-impl-item-doc", {"border-bottom-width": "0px"})
goto: file://|DOC_PATH|/test_docs/macro.heavily_documented_macro.html goto: "file://" + |DOC_PATH| + "/test_docs/macro.heavily_documented_macro.html"
assert-css: ("h1.fqn", {"font-size": "24px"}) assert-css: ("h1.fqn", {"font-size": "24px"})
@ -153,7 +153,7 @@ assert-css: ("h3#top-doc-prose-sub-heading", {"border-bottom-width": "1px"})
// Checking colors now. // Checking colors now.
show-text: true show-text: true
local-storage: {"rustdoc-theme": "light", "rustdoc-use-system-theme": "false"} local-storage: {"rustdoc-theme": "light", "rustdoc-use-system-theme": "false"}
goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
assert-css: ( assert-css: (
".top-doc .docblock h2", ".top-doc .docblock h2",
{"color": "rgb(0, 0, 0)", "border-bottom": "1px solid rgb(221, 221, 221)"}, {"color": "rgb(0, 0, 0)", "border-bottom": "1px solid rgb(221, 221, 221)"},
@ -246,7 +246,7 @@ assert-css: (
) )
local-storage: {"rustdoc-theme": "light"} local-storage: {"rustdoc-theme": "light"}
goto: file://|DOC_PATH|/staged_api/struct.Foo.html goto: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
assert-css: (".since", {"color": "rgb(128, 128, 128)"}, ALL) assert-css: (".since", {"color": "rgb(128, 128, 128)"}, ALL)
local-storage: {"rustdoc-theme": "dark"} local-storage: {"rustdoc-theme": "dark"}

View File

@ -1,6 +1,6 @@
// Make sure that the last two entries are more than 12 pixels apart and not stacked on each other. // Make sure that the last two entries are more than 12 pixels apart and not stacked on each other.
goto: file://|DOC_PATH|/test_docs/huge_amount_of_consts/index.html goto: "file://" + |DOC_PATH| + "/test_docs/huge_amount_of_consts/index.html"
compare-elements-position-near-false: ( compare-elements-position-near-false: (
"//*[@class='item-table']//div[last()-1]", "//*[@class='item-table']//div[last()-1]",

View File

@ -1,3 +1,3 @@
// This test ensures that the impl blocks are open by default. // This test ensures that the impl blocks are open by default.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
assert-attribute: ("#implementations-list details.implementors-toggle", {"open": ""}) assert-attribute: ("#implementations-list details.implementors-toggle", {"open": ""})

View File

@ -1,6 +1,6 @@
// The goal of this test is to check that the external trait implementors, generated with JS, // The goal of this test is to check that the external trait implementors, generated with JS,
// have the same display than the "local" ones. // have the same display than the "local" ones.
goto: file://|DOC_PATH|/implementors/trait.Whatever.html goto: "file://" + |DOC_PATH| + "/implementors/trait.Whatever.html"
assert: "#implementors-list" assert: "#implementors-list"
// There are supposed to be two implementors listed. // There are supposed to be two implementors listed.
assert-count: ("#implementors-list .impl", 2) assert-count: ("#implementors-list .impl", 2)
@ -15,7 +15,7 @@ assert-attribute: ("#implementors-list .impl:nth-child(2)", {"id": "impl-Whateve
assert-attribute: ("#implementors-list .impl:nth-child(2) > a.anchor", {"href": "#impl-Whatever-1"}) assert-attribute: ("#implementors-list .impl:nth-child(2) > a.anchor", {"href": "#impl-Whatever-1"})
assert: "#implementors-list .impl:nth-child(2) > .code-header" assert: "#implementors-list .impl:nth-child(2) > .code-header"
goto: file://|DOC_PATH|/test_docs/struct.HasEmptyTraits.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.HasEmptyTraits.html"
compare-elements-position-near-false: ( compare-elements-position-near-false: (
"#impl-EmptyTrait1-for-HasEmptyTraits", "#impl-EmptyTrait1-for-HasEmptyTraits",
"#impl-EmptyTrait2-for-HasEmptyTraits", "#impl-EmptyTrait2-for-HasEmptyTraits",
@ -29,7 +29,7 @@ compare-elements-position-near: (
// Now check that re-exports work correctly. // Now check that re-exports work correctly.
// There should be exactly one impl shown on both of these pages. // There should be exactly one impl shown on both of these pages.
goto: file://|DOC_PATH|/lib2/trait.TraitToReexport.html goto: "file://" + |DOC_PATH| + "/lib2/trait.TraitToReexport.html"
assert-count: ("#implementors-list .impl", 1) assert-count: ("#implementors-list .impl", 1)
goto: file://|DOC_PATH|/implementors/trait.TraitToReexport.html goto: "file://" + |DOC_PATH| + "/implementors/trait.TraitToReexport.html"
assert-count: ("#implementors-list .impl", 1) assert-count: ("#implementors-list .impl", 1)

View File

@ -1,6 +1,6 @@
// This test ensures that the "item-info" looks about the same // This test ensures that the "item-info" looks about the same
// whether or not it's inside a toggle. // whether or not it's inside a toggle.
goto: file://|DOC_PATH|/lib2/struct.ItemInfoAlignmentTest.html goto: "file://" + |DOC_PATH| + "/lib2/struct.ItemInfoAlignmentTest.html"
// First, we try it in "desktop" mode. // First, we try it in "desktop" mode.
size: (1200, 870) size: (1200, 870)

View File

@ -1,5 +1,5 @@
// This test ensures that the "item-info" elements don't overflow. // This test ensures that the "item-info" elements don't overflow.
goto: file://|DOC_PATH|/lib2/struct.LongItemInfo.html goto: "file://" + |DOC_PATH| + "/lib2/struct.LongItemInfo.html"
// We set a fixed size so there is no chance of "random" resize. // We set a fixed size so there is no chance of "random" resize.
size: (1200, 870) size: (1200, 870)
// Logically, the "item-decl" and the "item-info" should have the same scroll width. // Logically, the "item-decl" and the "item-info" should have the same scroll width.
@ -13,7 +13,7 @@ assert-text: (
) )
// Checking the "item-info" on an impl block as well: // Checking the "item-info" on an impl block as well:
goto: file://|DOC_PATH|/lib2/struct.LongItemInfo2.html goto: "file://" + |DOC_PATH| + "/lib2/struct.LongItemInfo2.html"
compare-elements-property: ( compare-elements-property: (
"#impl-SimpleTrait-for-LongItemInfo2 .item-info", "#impl-SimpleTrait-for-LongItemInfo2 .item-info",
"#impl-SimpleTrait-for-LongItemInfo2 + .docblock", "#impl-SimpleTrait-for-LongItemInfo2 + .docblock",

View File

@ -1,5 +1,5 @@
// This test ensures a few things for item info elements. // This test ensures a few things for item info elements.
goto: file://|DOC_PATH|/lib2/struct.Foo.html goto: "file://" + |DOC_PATH| + "/lib2/struct.Foo.html"
// Ensuring that the item information don't take 100% of the width if unnecessary. // Ensuring that the item information don't take 100% of the width if unnecessary.
// We set a fixed size so there is no chance of "random" resize. // We set a fixed size so there is no chance of "random" resize.
size: (1100, 800) size: (1100, 800)
@ -9,7 +9,7 @@ assert-css: (".item-info .stab", {"width": "289px"})
assert-position: (".item-info .stab", {"x": 245}) assert-position: (".item-info .stab", {"x": 245})
// Now we ensure that they're not rendered on the same line. // Now we ensure that they're not rendered on the same line.
goto: file://|DOC_PATH|/lib2/trait.Trait.html goto: "file://" + |DOC_PATH| + "/lib2/trait.Trait.html"
// We first ensure that there are two item info on the trait. // We first ensure that there are two item info on the trait.
assert-count: ("#main-content > .item-info .stab", 2) assert-count: ("#main-content > .item-info .stab", 2)
// They should not have the same `y` position! // They should not have the same `y` position!

View File

@ -1,5 +1,5 @@
// This test ensures that <table> elements aren't display in items summary. // This test ensures that <table> elements aren't display in items summary.
goto: file://|DOC_PATH|/lib2/summary_table/index.html goto: "file://" + |DOC_PATH| + "/lib2/summary_table/index.html"
// We check that we picked the right item first. // We check that we picked the right item first.
assert-text: (".item-table .item-left", "Foo") assert-text: (".item-table .item-left", "Foo")
// Then we check that its summary is empty. // Then we check that its summary is empty.

View File

@ -2,5 +2,5 @@
// can't be used without JS. // can't be used without JS.
javascript: false javascript: false
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
assert-css: (".sub", {"display": "none"}) assert-css: (".sub", {"display": "none"})

View File

@ -1,5 +1,5 @@
// We check the background color on the jump to definition links in the source code page. // We check the background color on the jump to definition links in the source code page.
goto: file://|DOC_PATH|/src/link_to_definition/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/link_to_definition/lib.rs.html"
// Set the theme to dark. // Set the theme to dark.
local-storage: { local-storage: {

View File

@ -1,6 +1,6 @@
// These tests verify that labels like "UNIX" and "Deprecated" stay on the same line as their symbol. // These tests verify that labels like "UNIX" and "Deprecated" stay on the same line as their symbol.
// It also verifies the staggered layout on mobile. // It also verifies the staggered layout on mobile.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
// Desktop view // Desktop view
size: (1080, 600) size: (1080, 600)

View File

@ -1,5 +1,5 @@
// This test checks links colors. // This test checks links colors.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
// This is needed so that the text color is computed. // This is needed so that the text color is computed.
show-text: true show-text: true

View File

@ -1,4 +1,4 @@
// This test checks that code blocks in list are supported. // This test checks that code blocks in list are supported.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
goto: ./fn.check_list_code_block.html goto: "./fn.check_list_code_block.html"
assert: ("pre.rust.fn") assert: ("pre.rust.fn")

View File

@ -1,5 +1,5 @@
// Test various properties of the mobile UI // Test various properties of the mobile UI
goto: file://|DOC_PATH|/staged_api/struct.Foo.html goto: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
size: (400, 600) size: (400, 600)
font-size: 18 font-size: 18
@ -24,7 +24,7 @@ assert-css-false: (".content .out-of-band .since::before", { "content": "\"Since
// On the settings page, the theme buttons should not line-wrap. Instead, they should // On the settings page, the theme buttons should not line-wrap. Instead, they should
// all be placed as a group on a line below the setting name "Theme." // all be placed as a group on a line below the setting name "Theme."
goto: file://|DOC_PATH|/settings.html goto: "file://" + |DOC_PATH| + "/settings.html"
size: (400, 600) size: (400, 600)
// Ignored for now https://github.com/rust-lang/rust/issues/93784. // Ignored for now https://github.com/rust-lang/rust/issues/93784.
// compare-elements-position-near-false: ("#preferred-light-theme .setting-name", "#preferred-light-theme .choice", {"y": 16}) // compare-elements-position-near-false: ("#preferred-light-theme .setting-name", "#preferred-light-theme .choice", {"y": 16})

View File

@ -1,5 +1,5 @@
// This test checks that the correct font is used on module items (in index.html pages). // This test checks that the correct font is used on module items (in index.html pages).
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-css: ( assert-css: (
".item-table .module-item a", ".item-table .module-item a",
{"font-family": '"Fira Sans", Arial, NanumBarunGothic, sans-serif'}, {"font-family": '"Fira Sans", Arial, NanumBarunGothic, sans-serif'},

View File

@ -1,8 +1,8 @@
// This test checks that there are margins applied to methods with no docblocks. // This test checks that there are margins applied to methods with no docblocks.
goto: file://|DOC_PATH|/test_docs/trait.TraitWithNoDocblocks.html goto: "file://" + |DOC_PATH| + "/test_docs/trait.TraitWithNoDocblocks.html"
// Check that the two methods are more than 24px apart. // Check that the two methods are more than 24px apart.
compare-elements-position-near-false: ("//*[@id='tymethod.first_fn']", "//*[@id='tymethod.second_fn']", {"y": 24}) compare-elements-position-near-false: ("//*[@id='tymethod.first_fn']", "//*[@id='tymethod.second_fn']", {"y": 24})
goto: file://|DOC_PATH|/test_docs/struct.TypeWithNoDocblocks.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.TypeWithNoDocblocks.html"
// Check that the two methods are more than 24px apart. // Check that the two methods are more than 24px apart.
compare-elements-position-near-false: ("//*[@id='method.first_fn']", "//*[@id='method.second_fn']", {"y": 24}) compare-elements-position-near-false: ("//*[@id='method.first_fn']", "//*[@id='method.second_fn']", {"y": 24})

View File

@ -1,5 +1,5 @@
// This test checks the position of the `i` for the notable traits. // This test checks the position of the `i` for the notable traits.
goto: file://|DOC_PATH|/test_docs/struct.NotableStructWithLongName.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.NotableStructWithLongName.html"
show-text: true show-text: true
// We start with a wide screen. // We start with a wide screen.
size: (1100, 600) size: (1100, 600)

View File

@ -1,7 +1,7 @@
// The goal of this test is to ensure that the tooltip `.information` class doesn't // The goal of this test is to ensure that the tooltip `.information` class doesn't
// have overflow and max-width CSS rules set because they create a bug in firefox on // have overflow and max-width CSS rules set because they create a bug in firefox on
// mac. For more information: https://github.com/rust-lang/rust/issues/89185 // mac. For more information: https://github.com/rust-lang/rust/issues/89185
goto: file://|DOC_PATH|/test_docs/fn.foo.html goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
assert-css: (".docblock > .example-wrap .tooltip", { assert-css: (".docblock > .example-wrap .tooltip", {
"overflow-x": "visible", "overflow-x": "visible",
"max-width": "none" "max-width": "none"

View File

@ -1,5 +1,5 @@
// This test ensures that the "pocket menus" are working as expected. // This test ensures that the "pocket menus" are working as expected.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
// First we check that the help menu doesn't exist yet. // First we check that the help menu doesn't exist yet.
assert-false: "#help-button .popover" assert-false: "#help-button .popover"
// Then we display the help menu. // Then we display the help menu.

View File

@ -1,7 +1,7 @@
// Example code blocks sometimes have a "Run" button to run them on the // Example code blocks sometimes have a "Run" button to run them on the
// Playground. That button is hidden until the user hovers over the code block. // Playground. That button is hidden until the user hovers over the code block.
// This test checks that it is hidden, and that it shows on hover. // This test checks that it is hidden, and that it shows on hover.
goto: file://|DOC_PATH|/test_docs/fn.foo.html goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
assert-css: (".test-arrow", {"visibility": "hidden"}) assert-css: (".test-arrow", {"visibility": "hidden"})
move-cursor-to: ".example-wrap" move-cursor-to: ".example-wrap"
assert-css: (".test-arrow", {"visibility": "visible"}) assert-css: (".test-arrow", {"visibility": "visible"})

View File

@ -1,5 +1,5 @@
// This test ensures that the correct style is applied to the rust logo in the sidebar. // This test ensures that the correct style is applied to the rust logo in the sidebar.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
// First we start with the dark theme. // First we start with the dark theme.
local-storage: { local-storage: {
@ -15,7 +15,7 @@ assert-css: (
) )
// In the source view page now. // In the source view page now.
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
local-storage: { local-storage: {
"rustdoc-theme": "dark", "rustdoc-theme": "dark",
@ -43,7 +43,7 @@ assert-css: (
) )
// In the source view page now. // In the source view page now.
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
local-storage: { local-storage: {
"rustdoc-theme": "ayu", "rustdoc-theme": "ayu",
@ -67,7 +67,7 @@ assert-css: (
) )
// In the source view page now. // In the source view page now.
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
local-storage: {"rustdoc-theme": "light", "rustdoc-use-system-theme": "false"} local-storage: {"rustdoc-theme": "light", "rustdoc-use-system-theme": "false"}
reload: reload:

View File

@ -1,5 +1,5 @@
// Checks that the crate search filtering is handled correctly and changes the results. // Checks that the crate search filtering is handled correctly and changes the results.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
show-text: true show-text: true
write: (".search-input", "test") write: (".search-input", "test")
// To be SURE that the search will be run. // To be SURE that the search will be run.
@ -43,7 +43,7 @@ wait-for: "#titles"
assert-property: ("#crate-search", {"value": "all crates"}) assert-property: ("#crate-search", {"value": "all crates"})
// Checking that the URL parameter is taken into account for crate filtering. // Checking that the URL parameter is taken into account for crate filtering.
goto: file://|DOC_PATH|/test_docs/index.html?search=test&filter-crate=lib2 goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=test&filter-crate=lib2"
wait-for: "#crate-search" wait-for: "#crate-search"
assert-property: ("#crate-search", {"value": "lib2"}) assert-property: ("#crate-search", {"value": "lib2"})
assert-false: "#results .externcrate" assert-false: "#results .externcrate"

View File

@ -1,5 +1,5 @@
// This test ensures that the elements in ".search-form" have the expected display. // This test ensures that the elements in ".search-form" have the expected display.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
show-text: true show-text: true
// Ayu theme // Ayu theme

View File

@ -1,6 +1,6 @@
// Test to ensure that you can click on the search input, whatever the width. // Test to ensure that you can click on the search input, whatever the width.
// The PR which fixed it is: https://github.com/rust-lang/rust/pull/81592 // The PR which fixed it is: https://github.com/rust-lang/rust/pull/81592
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
size: (463, 700) size: (463, 700)
// We first check that the search input isn't already focused. // We first check that the search input isn't already focused.
assert-false: ("input.search-input:focus") assert-false: ("input.search-input:focus")

View File

@ -1,6 +1,6 @@
// Checks that the reexports are present in the search index, can have // Checks that the reexports are present in the search index, can have
// doc aliases and are highligted when their ID is the hash of the page. // doc aliases and are highligted when their ID is the hash of the page.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
local-storage: {"rustdoc-theme": "dark", "rustdoc-use-system-theme": "false"} local-storage: {"rustdoc-theme": "dark", "rustdoc-use-system-theme": "false"}
reload: reload:
// First we check that the reexport has the correct ID and no background color. // First we check that the reexport has the correct ID and no background color.

View File

@ -1,5 +1,5 @@
// The goal of this test is to ensure the color of the text is the one expected. // The goal of this test is to ensure the color of the text is the one expected.
goto: file://|DOC_PATH|/test_docs/index.html?search=coo goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=coo"
// This is needed so that the text color is computed. // This is needed so that the text color is computed.
show-text: true show-text: true
@ -826,7 +826,7 @@ assert-css: (
) )
// Check the alias more specifically in the dark theme. // Check the alias more specifically in the dark theme.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
// We set the theme so we're sure that the correct values will be used, whatever the computer // We set the theme so we're sure that the correct values will be used, whatever the computer
// this test is running on. // this test is running on.
local-storage: { local-storage: {

View File

@ -1,5 +1,5 @@
// This test is to ensure that the codeblocks are correctly rendered in the search results. // This test is to ensure that the codeblocks are correctly rendered in the search results.
goto: file://|DOC_PATH|/test_docs/index.html?search=some_more_function goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=some_more_function"
// Waiting for the search results to appear... // Waiting for the search results to appear...
wait-for: "#titles" wait-for: "#titles"
assert-text: (".search-results .desc code", "format!") assert-text: (".search-results .desc code", "format!")

View File

@ -1,5 +1,5 @@
// Checks that the search results have the expected width. // Checks that the search results have the expected width.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
size: (900, 1000) size: (900, 1000)
write: (".search-input", "test") write: (".search-input", "test")
// To be SURE that the search will be run. // To be SURE that the search will be run.

View File

@ -2,11 +2,11 @@
// First, we check that the first page doesn't have the string we're looking for to ensure // First, we check that the first page doesn't have the string we're looking for to ensure
// that the feature is changing page as expected. // that the feature is changing page as expected.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-text-false: (".fqn", "Struct test_docs::Foo") assert-text-false: (".fqn", "Struct test_docs::Foo")
// We now check that we land on the search result page if "go_to_first" isn't set. // We now check that we land on the search result page if "go_to_first" isn't set.
goto: file://|DOC_PATH|/test_docs/index.html?search=struct%3AFoo goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=struct%3AFoo"
// Waiting for the search results to appear... // Waiting for the search results to appear...
wait-for: "#titles" wait-for: "#titles"
assert-text-false: (".fqn", "Struct test_docs::Foo") assert-text-false: (".fqn", "Struct test_docs::Foo")
@ -14,6 +14,6 @@ assert-text-false: (".fqn", "Struct test_docs::Foo")
assert-css: ("#main-content", {"display": "none"}) assert-css: ("#main-content", {"display": "none"})
// Now we can check that the feature is working as expected! // Now we can check that the feature is working as expected!
goto: file://|DOC_PATH|/test_docs/index.html?search=struct%3AFoo&go_to_first=true goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=struct%3AFoo&go_to_first=true"
// Waiting for the page to load... // Waiting for the page to load...
wait-for-text: (".fqn", "Struct test_docs::Foo") wait-for-text: (".fqn", "Struct test_docs::Foo")

View File

@ -1,5 +1,5 @@
// Checks that the "keyword" results have the expected text alongside them. // Checks that the "keyword" results have the expected text alongside them.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
write: (".search-input", "CookieMonster") write: (".search-input", "CookieMonster")
// To be SURE that the search will be run. // To be SURE that the search will be run.
press-key: 'Enter' press-key: 'Enter'

View File

@ -1,6 +1,6 @@
// Checks that the search tab results work correctly with function signature syntax // Checks that the search tab results work correctly with function signature syntax
// First, try a search-by-name // First, try a search-by-name
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
write: (".search-input", "Foo") write: (".search-input", "Foo")
// To be SURE that the search will be run. // To be SURE that the search will be run.
press-key: 'Enter' press-key: 'Enter'
@ -22,7 +22,7 @@ press-key: "ArrowLeft"
wait-for-attribute: ("#titles > button:nth-of-type(3)", {"class": "selected"}) wait-for-attribute: ("#titles > button:nth-of-type(3)", {"class": "selected"})
// Now try search-by-return // Now try search-by-return
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
write: (".search-input", "-> String") write: (".search-input", "-> String")
// To be SURE that the search will be run. // To be SURE that the search will be run.
press-key: 'Enter' press-key: 'Enter'
@ -44,7 +44,7 @@ press-key: "ArrowLeft"
wait-for-attribute: ("#titles > button:nth-of-type(1)", {"class": "selected"}) wait-for-attribute: ("#titles > button:nth-of-type(1)", {"class": "selected"})
// Try with a search-by-return with no results // Try with a search-by-return with no results
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
write: (".search-input", "-> Something") write: (".search-input", "-> Something")
// To be SURE that the search will be run. // To be SURE that the search will be run.
press-key: 'Enter' press-key: 'Enter'
@ -54,7 +54,7 @@ assert-attribute: ("#titles > button:nth-of-type(1)", {"class": "selected"})
assert-text: ("#titles > button:nth-of-type(1)", "In Function Return Types", STARTS_WITH) assert-text: ("#titles > button:nth-of-type(1)", "In Function Return Types", STARTS_WITH)
// Try with a search-by-parameter // Try with a search-by-parameter
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
write: (".search-input", "usize pattern") write: (".search-input", "usize pattern")
// To be SURE that the search will be run. // To be SURE that the search will be run.
press-key: 'Enter' press-key: 'Enter'
@ -64,7 +64,7 @@ assert-attribute: ("#titles > button:nth-of-type(1)", {"class": "selected"})
assert-text: ("#titles > button:nth-of-type(1)", "In Function Parameters", STARTS_WITH) assert-text: ("#titles > button:nth-of-type(1)", "In Function Parameters", STARTS_WITH)
// Try with a search-by-parameter-and-return // Try with a search-by-parameter-and-return
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
write: (".search-input", "pattern -> str") write: (".search-input", "pattern -> str")
// To be SURE that the search will be run. // To be SURE that the search will be run.
press-key: 'Enter' press-key: 'Enter'

View File

@ -1,5 +1,5 @@
// This test ensures that the settings menu display is working as expected. // This test ensures that the settings menu display is working as expected.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
show-text: true // needed when we check for colors below. show-text: true // needed when we check for colors below.
// First, we check that the settings page doesn't exist. // First, we check that the settings page doesn't exist.
assert-false: "#settings" assert-false: "#settings"
@ -138,7 +138,7 @@ wait-for-css: ("#help-button .popover", {"display": "block"})
assert-css: ("#settings-menu .popover", {"display": "none"}) assert-css: ("#settings-menu .popover", {"display": "none"})
// Now we go to the settings page to check that the CSS is loaded as expected. // Now we go to the settings page to check that the CSS is loaded as expected.
goto: file://|DOC_PATH|/settings.html goto: "file://" + |DOC_PATH| + "/settings.html"
wait-for: "#settings" wait-for: "#settings"
assert-css: (".setting-line .toggle .slider", {"width": "45px", "margin-right": "20px"}) assert-css: (".setting-line .toggle .slider", {"width": "45px", "margin-right": "20px"})

View File

@ -1,5 +1,5 @@
// Check that the various shortcuts are working. // Check that the various shortcuts are working.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
// We first check that the search input isn't already focused. // We first check that the search input isn't already focused.
assert-false: "input.search-input:focus" assert-false: "input.search-input:focus"
press-key: "s" press-key: "s"

View File

@ -1,5 +1,5 @@
// This test checks links colors in sidebar before and after hover. // This test checks links colors in sidebar before and after hover.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// This is needed so that the text color is computed. // This is needed so that the text color is computed.
show-text: true show-text: true

View File

@ -1,5 +1,5 @@
// This test ensures that the reexport of a macro doesn't make the original macro // This test ensures that the reexport of a macro doesn't make the original macro
// displayed twice in the sidebar. // displayed twice in the sidebar.
goto: file://|DOC_PATH|/test_docs/macro.repro.html goto: "file://" + |DOC_PATH| + "/test_docs/macro.repro.html"
wait-for: ".sidebar-elems .macro .macro" wait-for: ".sidebar-elems .macro .macro"
assert-count: ("//*[@class='sidebar-elems']//*[@class='block macro']//a[text()='repro']", 1) assert-count: ("//*[@class='sidebar-elems']//*[@class='block macro']//a[text()='repro']", 1)

View File

@ -1,5 +1,5 @@
// This test ensures that the mobile sidebar preserves scroll position. // This test ensures that the mobile sidebar preserves scroll position.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// Switching to "mobile view" by reducing the width to 600px. // Switching to "mobile view" by reducing the width to 600px.
size: (600, 600) size: (600, 600)
assert-css: (".sidebar", {"display": "block", "left": "-1000px"}) assert-css: (".sidebar", {"display": "block", "left": "-1000px"})

View File

@ -1,7 +1,7 @@
// This test ensure that the sidebar isn't "hidden" on mobile but instead moved out of the viewport. // This test ensure that the sidebar isn't "hidden" on mobile but instead moved out of the viewport.
// This is especially important for devices for "text-first" content (like for users with // This is especially important for devices for "text-first" content (like for users with
// sight issues). // sight issues).
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// Switching to "mobile view" by reducing the width to 600px. // Switching to "mobile view" by reducing the width to 600px.
size: (600, 600) size: (600, 600)
assert-css: (".sidebar", {"display": "block", "left": "-1000px"}) assert-css: (".sidebar", {"display": "block", "left": "-1000px"})

View File

@ -1,6 +1,6 @@
// This test ensures that the elements in the sidebar are displayed correctly. // This test ensures that the elements in the sidebar are displayed correctly.
javascript: false javascript: false
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
// Since the javascript is disabled, there shouldn't be a toggle. // Since the javascript is disabled, there shouldn't be a toggle.
assert-false: "#sidebar-toggle" assert-false: "#sidebar-toggle"
wait-for-css: (".sidebar > *", {"visibility": "hidden"}) wait-for-css: (".sidebar > *", {"visibility": "hidden"})
@ -22,7 +22,7 @@ wait-for-css: ("#sidebar-toggle", {"visibility": "visible"})
wait-for-css: (".sidebar", {"width": "300px"}) wait-for-css: (".sidebar", {"width": "300px"})
assert-local-storage: {"rustdoc-source-sidebar-show": "true"} assert-local-storage: {"rustdoc-source-sidebar-show": "true"}
click: ".sidebar a.selected" click: ".sidebar a.selected"
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
wait-for-css: (".sidebar", {"width": "300px"}) wait-for-css: (".sidebar", {"width": "300px"})
assert-local-storage: {"rustdoc-source-sidebar-show": "true"} assert-local-storage: {"rustdoc-source-sidebar-show": "true"}
@ -250,7 +250,7 @@ click: "#sidebar-toggle"
wait-for-css: ("#source-sidebar", {"visibility": "visible"}) wait-for-css: ("#source-sidebar", {"visibility": "visible"})
assert-local-storage: {"rustdoc-source-sidebar-show": "true"} assert-local-storage: {"rustdoc-source-sidebar-show": "true"}
click: ".sidebar a.selected" click: ".sidebar a.selected"
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
wait-for-css: ("#source-sidebar", {"visibility": "hidden"}) wait-for-css: ("#source-sidebar", {"visibility": "hidden"})
assert-local-storage: {"rustdoc-source-sidebar-show": "false"} assert-local-storage: {"rustdoc-source-sidebar-show": "false"}
// Resize back to desktop size, to check that the sidebar doesn't spontaneously open. // Resize back to desktop size, to check that the sidebar doesn't spontaneously open.

View File

@ -1,6 +1,6 @@
// The goal of this test is to ensure that the sidebar is working as expected in the source // The goal of this test is to ensure that the sidebar is working as expected in the source
// code pages. // code pages.
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
// First: desktop mode. // First: desktop mode.
size: (1100, 800) size: (1100, 800)
// We check that the sidebar isn't expanded and has the expected width. // We check that the sidebar isn't expanded and has the expected width.
@ -17,7 +17,7 @@ wait-for: "html:not(.expanded)"
assert: "nav.sidebar" assert: "nav.sidebar"
// Checking that only the path to the current file is "open". // Checking that only the path to the current file is "open".
goto: file://|DOC_PATH|/src/lib2/another_folder/sub_mod/mod.rs.html goto: "file://" + |DOC_PATH| + "/src/lib2/another_folder/sub_mod/mod.rs.html"
// First we expand the sidebar again. // First we expand the sidebar again.
click: (10, 10) click: (10, 10)
// We wait for the sidebar to be expanded. // We wait for the sidebar to be expanded.

View File

@ -1,5 +1,5 @@
// Checks multiple things on the sidebar display (width of its elements, colors, etc). // Checks multiple things on the sidebar display (width of its elements, colors, etc).
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-property: (".sidebar", {"clientWidth": "200"}) assert-property: (".sidebar", {"clientWidth": "200"})
show-text: true show-text: true
local-storage: {"rustdoc-theme": "light"} local-storage: {"rustdoc-theme": "light"}
@ -39,13 +39,13 @@ click: ".sidebar h2.location a"
assert-property: ("html", {"scrollTop": "0"}) assert-property: ("html", {"scrollTop": "0"})
// We now go back to the crate page to click on the "lib2" crate link. // We now go back to the crate page to click on the "lib2" crate link.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-property: (".sidebar", {"clientWidth": "200"}) assert-property: (".sidebar", {"clientWidth": "200"})
assert-css: (".sidebar-elems .crate > ul > li:first-child > a", {"color": "rgb(53, 109, 164)"}) assert-css: (".sidebar-elems .crate > ul > li:first-child > a", {"color": "rgb(53, 109, 164)"})
click: ".sidebar-elems .crate > ul > li:first-child > a" click: ".sidebar-elems .crate > ul > li:first-child > a"
// PAGE: lib2/index.html // PAGE: lib2/index.html
goto: file://|DOC_PATH|/lib2/index.html goto: "file://" + |DOC_PATH| + "/lib2/index.html"
assert-property: (".sidebar", {"clientWidth": "200"}) assert-property: (".sidebar", {"clientWidth": "200"})
assert-text: (".sidebar > .location", "Crate lib2") assert-text: (".sidebar > .location", "Crate lib2")
// We check that we have the crates list and that the "current" on is now "lib2". // We check that we have the crates list and that the "current" on is now "lib2".
@ -67,13 +67,13 @@ assert-text: (".sidebar .sidebar-elems .location", "In lib2")
// We check that we don't have the crate list. // We check that we don't have the crate list.
assert-false: ".sidebar-elems > .crate" assert-false: ".sidebar-elems > .crate"
goto: ./module/index.html goto: "./module/index.html"
assert-property: (".sidebar", {"clientWidth": "200"}) assert-property: (".sidebar", {"clientWidth": "200"})
assert-text: (".sidebar > .location", "Module module") assert-text: (".sidebar > .location", "Module module")
// We check that we don't have the crate list. // We check that we don't have the crate list.
assert-false: ".sidebar-elems > .crate" assert-false: ".sidebar-elems > .crate"
goto: ./sub_module/sub_sub_module/index.html goto: "./sub_module/sub_sub_module/index.html"
assert-property: (".sidebar", {"clientWidth": "200"}) assert-property: (".sidebar", {"clientWidth": "200"})
assert-text: (".sidebar > .location", "Module sub_sub_module") assert-text: (".sidebar > .location", "Module sub_sub_module")
// We check that we don't have the crate list. // We check that we don't have the crate list.
@ -82,13 +82,13 @@ assert-text: (".sidebar-elems > section ul > li:nth-child(1)", "Functions")
assert-text: ("#functions + .item-table .item-left > a", "foo") assert-text: ("#functions + .item-table .item-left > a", "foo")
// Links to trait implementations in the sidebar should not wrap even if they are long. // Links to trait implementations in the sidebar should not wrap even if they are long.
goto: file://|DOC_PATH|/lib2/struct.HasALongTraitWithParams.html goto: "file://" + |DOC_PATH| + "/lib2/struct.HasALongTraitWithParams.html"
assert-property: (".sidebar", {"clientWidth": "200"}) assert-property: (".sidebar", {"clientWidth": "200"})
assert-property: (".sidebar-elems section .block li > a", {"offsetHeight": 29}) assert-property: (".sidebar-elems section .block li > a", {"offsetHeight": 29})
// Test that clicking on of the "In <module>" headings in the sidebar links to the // Test that clicking on of the "In <module>" headings in the sidebar links to the
// appropriate anchor in index.html. // appropriate anchor in index.html.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
assert-property: (".sidebar", {"clientWidth": "200"}) assert-property: (".sidebar", {"clientWidth": "200"})
click: ".block.mod h3 a" click: ".block.mod h3 a"
// PAGE: index.html // PAGE: index.html

View File

@ -1,6 +1,6 @@
// We check that when the anchor changes and is output of the displayed content, // We check that when the anchor changes and is output of the displayed content,
// the page is scrolled to it. // the page is scrolled to it.
goto: file://|DOC_PATH|/src/link_to_definition/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/link_to_definition/lib.rs.html"
// We reduce the window size to make it easier to make an element "out of the page". // We reduce the window size to make it easier to make an element "out of the page".
size: (600, 800) size: (600, 800)

View File

@ -1,12 +1,12 @@
// Checks that the interactions with the source code pages are working as expected. // Checks that the interactions with the source code pages are working as expected.
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
// Check that we can click on the line number. // Check that we can click on the line number.
click: ".src-line-numbers > span:nth-child(4)" // This is the span for line 4. click: ".src-line-numbers > span:nth-child(4)" // This is the span for line 4.
// Ensure that the page URL was updated. // Ensure that the page URL was updated.
assert-document-property: ({"URL": "lib.rs.html#4"}, ENDS_WITH) assert-document-property: ({"URL": "lib.rs.html#4"}, ENDS_WITH)
assert-attribute: ("//*[@id='4']", {"class": "line-highlighted"}) assert-attribute: ("//*[@id='4']", {"class": "line-highlighted"})
// We now check that the good spans are highlighted // We now check that the good spans are highlighted
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html#4-6 goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html#4-6"
assert-attribute-false: (".src-line-numbers > span:nth-child(3)", {"class": "line-highlighted"}) assert-attribute-false: (".src-line-numbers > span:nth-child(3)", {"class": "line-highlighted"})
assert-attribute: (".src-line-numbers > span:nth-child(4)", {"class": "line-highlighted"}) assert-attribute: (".src-line-numbers > span:nth-child(4)", {"class": "line-highlighted"})
assert-attribute: (".src-line-numbers > span:nth-child(5)", {"class": "line-highlighted"}) assert-attribute: (".src-line-numbers > span:nth-child(5)", {"class": "line-highlighted"})
@ -21,7 +21,7 @@ assert-css: (".src-line-numbers", {"text-align": "right"})
// Now let's check that clicking on something else than the line number doesn't // Now let's check that clicking on something else than the line number doesn't
// do anything (and certainly not add a `#NaN` to the URL!). // do anything (and certainly not add a `#NaN` to the URL!).
show-text: true show-text: true
goto: file://|DOC_PATH|/src/test_docs/lib.rs.html goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
// We use this assert-position to know where we will click. // We use this assert-position to know where we will click.
assert-position: ("//*[@id='1']", {"x": 104, "y": 103}) assert-position: ("//*[@id='1']", {"x": 104, "y": 103})
// We click on the left of the "1" span but still in the "src-line-number" `<pre>`. // We click on the left of the "1" span but still in the "src-line-number" `<pre>`.

View File

@ -1,7 +1,7 @@
// This test ensures that the "[src]" have the same font size as their headers // This test ensures that the "[src]" have the same font size as their headers
// to avoid having some weird height difference in the background when the element // to avoid having some weird height difference in the background when the element
// is selected. // is selected.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
show-text: true show-text: true
// Check the impl headers. // Check the impl headers.
assert-css: (".impl.has-srclink .srclink", {"font-size": "16px", "font-weight": 400}, ALL) assert-css: (".impl.has-srclink .srclink", {"font-size": "16px", "font-weight": 400}, ALL)

View File

@ -1,5 +1,5 @@
// Ensures that the theme change is working as expected. // Ensures that the theme change is working as expected.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
local-storage: {"rustdoc-use-system-theme": "false", "rustdoc-theme": "dark"} local-storage: {"rustdoc-use-system-theme": "false", "rustdoc-theme": "dark"}
reload: reload:
click: "#settings-menu" click: "#settings-menu"
@ -17,7 +17,7 @@ click: "#theme-dark"
wait-for-css: ("body", { "background-color": "rgb(53, 53, 53)" }) wait-for-css: ("body", { "background-color": "rgb(53, 53, 53)" })
assert-local-storage: { "rustdoc-theme": "dark" } assert-local-storage: { "rustdoc-theme": "dark" }
goto: file://|DOC_PATH|/settings.html goto: "file://" + |DOC_PATH| + "/settings.html"
wait-for: "#settings" wait-for: "#settings"
click: "#theme-light" click: "#theme-light"
wait-for-css: ("body", { "background-color": "rgb(255, 255, 255)" }) wait-for-css: ("body", { "background-color": "rgb(255, 255, 255)" })

View File

@ -1,5 +1,5 @@
// Ensures that the theme is working when going back in history. // Ensures that the theme is working when going back in history.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
// Set the theme to dark. // Set the theme to dark.
local-storage: { local-storage: {
"rustdoc-theme": "dark", "rustdoc-theme": "dark",
@ -12,7 +12,7 @@ assert-css: ("body", { "background-color": "rgb(53, 53, 53)" })
assert-local-storage: { "rustdoc-theme": "dark" } assert-local-storage: { "rustdoc-theme": "dark" }
// Now we go to the settings page. // Now we go to the settings page.
goto: file://|DOC_PATH|/settings.html goto: "file://" + |DOC_PATH| + "/settings.html"
wait-for: "#settings" wait-for: "#settings"
// We change the theme to "light". // We change the theme to "light".
click: "#theme-light" click: "#theme-light"

View File

@ -1,6 +1,6 @@
// This test ensures that clicking on a method summary, but not on the "[-]", // This test ensures that clicking on a method summary, but not on the "[-]",
// doesn't toggle the <details>. // doesn't toggle the <details>.
goto: file://|DOC_PATH|/lib2/struct.Foo.html goto: "file://" + |DOC_PATH| + "/lib2/struct.Foo.html"
assert-attribute: (".impl-items .rustdoc-toggle", {"open": ""}) assert-attribute: (".impl-items .rustdoc-toggle", {"open": ""})
click: "h4.code-header" // This is the position of "pub" in "pub fn a_method" click: "h4.code-header" // This is the position of "pub" in "pub fn a_method"
assert-attribute: (".impl-items .rustdoc-toggle", {"open": ""}) assert-attribute: (".impl-items .rustdoc-toggle", {"open": ""})

View File

@ -1,6 +1,6 @@
// Checks that the documentation toggles on mobile have the correct position, style and work // Checks that the documentation toggles on mobile have the correct position, style and work
// as expected. // as expected.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
size: (433, 600) size: (433, 600)
assert-attribute: (".top-doc", {"open": ""}) assert-attribute: (".top-doc", {"open": ""})
click: (4, 270) // This is the position of the top doc comment toggle click: (4, 270) // This is the position of the top doc comment toggle

View File

@ -1,5 +1,5 @@
// Checks that the documentation toggles have the correct position, style and work as expected. // Checks that the documentation toggles have the correct position, style and work as expected.
goto: file://|DOC_PATH|/test_docs/index.html goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-attribute: ("#main-content > details.top-doc", {"open": ""}) assert-attribute: ("#main-content > details.top-doc", {"open": ""})
assert-text: ("#toggle-all-docs", "[]") assert-text: ("#toggle-all-docs", "[]")
click: "#toggle-all-docs" click: "#toggle-all-docs"
@ -13,7 +13,7 @@ wait-for-attribute: ("#main-content > details.top-doc", {"open": ""})
assert-text: ("#toggle-all-docs", "[]") assert-text: ("#toggle-all-docs", "[]")
// Check that it works on non-module pages as well. // Check that it works on non-module pages as well.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// We first check that everything is visible. // We first check that everything is visible.
assert-text: ("#toggle-all-docs", "[]") assert-text: ("#toggle-all-docs", "[]")
assert-attribute: ("#implementations-list details.rustdoc-toggle", {"open": ""}, ALL) assert-attribute: ("#implementations-list details.rustdoc-toggle", {"open": ""}, ALL)

View File

@ -1,4 +1,4 @@
// This test ensures that the implementors toggle are not open by default. // This test ensures that the implementors toggle are not open by default.
goto: file://|DOC_PATH|/implementors/trait.Whatever.html goto: "file://" + |DOC_PATH| + "/implementors/trait.Whatever.html"
assert-attribute-false: ("#implementors-list > details", {"open": ""}, ALL) assert-attribute-false: ("#implementors-list > details", {"open": ""}, ALL)

View File

@ -1,5 +1,5 @@
// This tests that the "implementations" section on struct/enum pages // This tests that the "implementations" section on struct/enum pages
// has all the implementations toggled open by default, so users can // has all the implementations toggled open by default, so users can
// find method names in those implementations with Ctrl-F. // find method names in those implementations with Ctrl-F.
goto: file://|DOC_PATH|/test_docs/struct.Foo.html goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
assert-attribute: (".rustdoc-toggle.implementors-toggle", {"open": ""}) assert-attribute: (".rustdoc-toggle.implementors-toggle", {"open": ""})

View File

@ -1,5 +1,5 @@
// Checks that the elements in the sidebar are alphabetically sorted. // Checks that the elements in the sidebar are alphabetically sorted.
goto: file://|DOC_PATH|/test_docs/trait.AnotherOne.html goto: "file://" + |DOC_PATH| + "/test_docs/trait.AnotherOne.html"
assert-text: (".sidebar-elems section .block li:nth-of-type(1) > a", "another") assert-text: (".sidebar-elems section .block li:nth-of-type(1) > a", "another")
assert-text: (".sidebar-elems section .block li:nth-of-type(2) > a", "func1") assert-text: (".sidebar-elems section .block li:nth-of-type(2) > a", "func1")
assert-text: (".sidebar-elems section .block li:nth-of-type(3) > a", "func2") assert-text: (".sidebar-elems section .block li:nth-of-type(3) > a", "func2")

View File

@ -1,5 +1,5 @@
// This test ensures that the items declaration content overflow is handled inside the <pre> directly. // This test ensures that the items declaration content overflow is handled inside the <pre> directly.
goto: file://|DOC_PATH|/lib2/long_trait/trait.ALongNameBecauseItHelpsTestingTheCurrentProblem.html goto: "file://" + |DOC_PATH| + "/lib2/long_trait/trait.ALongNameBecauseItHelpsTestingTheCurrentProblem.html"
// We set a fixed size so there is no chance of "random" resize. // We set a fixed size so there is no chance of "random" resize.
size: (1100, 800) size: (1100, 800)
// Logically, the <body> scroll width should be the width of the window. // Logically, the <body> scroll width should be the width of the window.
@ -8,11 +8,11 @@ assert-property: ("body", {"scrollWidth": "1100"})
assert-property: (".item-decl pre", {"scrollWidth": "1324"}) assert-property: (".item-decl pre", {"scrollWidth": "1324"})
// In the table-ish view on the module index, the name should not be wrapped more than necessary. // In the table-ish view on the module index, the name should not be wrapped more than necessary.
goto: file://|DOC_PATH|/lib2/too_long/index.html goto: "file://" + |DOC_PATH| + "/lib2/too_long/index.html"
assert-property: (".item-table .struct", {"offsetWidth": "684"}) assert-property: (".item-table .struct", {"offsetWidth": "684"})
// We now make the same check on type declaration... // We now make the same check on type declaration...
goto: file://|DOC_PATH|/lib2/too_long/type.ReallyLongTypeNameLongLongLong.html goto: "file://" + |DOC_PATH| + "/lib2/too_long/type.ReallyLongTypeNameLongLongLong.html"
assert-property: ("body", {"scrollWidth": "1100"}) assert-property: ("body", {"scrollWidth": "1100"})
// We now check that the section width hasn't grown because of it. // We now check that the section width hasn't grown because of it.
assert-property: ("#main-content", {"scrollWidth": "840"}) assert-property: ("#main-content", {"scrollWidth": "840"})
@ -21,7 +21,7 @@ assert-property: (".item-decl pre", {"scrollWidth": "1103"})
// ... and constant. // ... and constant.
// On a sidenote, it also checks that the (very) long title isn't changing the docblock width. // On a sidenote, it also checks that the (very) long title isn't changing the docblock width.
goto: file://|DOC_PATH|/lib2/too_long/constant.ReallyLongTypeNameLongLongLongConstBecauseWhyNotAConstRightGigaGigaSupraLong.html goto: "file://" + |DOC_PATH| + "/lib2/too_long/constant.ReallyLongTypeNameLongLongLongConstBecauseWhyNotAConstRightGigaGigaSupraLong.html"
assert-property: ("body", {"scrollWidth": "1100"}) assert-property: ("body", {"scrollWidth": "1100"})
// We now check that the section width hasn't grown because of it. // We now check that the section width hasn't grown because of it.
assert-property: ("#main-content", {"scrollWidth": "840"}) assert-property: ("#main-content", {"scrollWidth": "840"})
@ -30,7 +30,7 @@ assert-property: (".item-decl pre", {"scrollWidth": "950"})
// On mobile: // On mobile:
size: (600, 600) size: (600, 600)
goto: file://|DOC_PATH|/lib2/too_long/struct.SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName.html goto: "file://" + |DOC_PATH| + "/lib2/too_long/struct.SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName.html"
// It shouldn't have an overflow in the topbar either. // It shouldn't have an overflow in the topbar either.
store-property: (scrollWidth, ".mobile-topbar .location", "scrollWidth") store-property: (scrollWidth, ".mobile-topbar .location", "scrollWidth")
assert-property: (".mobile-topbar .location", {"clientWidth": |scrollWidth|}) assert-property: (".mobile-topbar .location", {"clientWidth": |scrollWidth|})

View File

@ -1,5 +1,5 @@
// This test ensures that the where conditions are correctly displayed. // This test ensures that the where conditions are correctly displayed.
goto: file://|DOC_PATH|/lib2/trait.Whitespace.html goto: "file://" + |DOC_PATH| + "/lib2/trait.Whitespace.html"
show-text: true show-text: true
// First, we check in the trait definition if the where clause is "on its own" (not on the same // First, we check in the trait definition if the where clause is "on its own" (not on the same
// line than "pub trait Whitespace<Idx>"). // line than "pub trait Whitespace<Idx>").
@ -7,7 +7,7 @@ compare-elements-position-false: (".item-decl code", ".where.fmt-newline", ("y")
// And that the code following it isn't on the same line either. // And that the code following it isn't on the same line either.
compare-elements-position-false: (".item-decl .fnname", ".where.fmt-newline", ("y")) compare-elements-position-false: (".item-decl .fnname", ".where.fmt-newline", ("y"))
goto: file://|DOC_PATH|/lib2/struct.WhereWhitespace.html goto: "file://" + |DOC_PATH| + "/lib2/struct.WhereWhitespace.html"
// We make the screen a bit wider to ensure that the trait impl is on one line. // We make the screen a bit wider to ensure that the trait impl is on one line.
size: (915, 915) size: (915, 915)