diff options
| author | bors <bors@rust-lang.org> | 2024-09-24 06:02:43 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-09-24 06:02:43 +0000 |
| commit | 4cadeda932d5c261a9a0b1bbd25c4486e4e0a4c6 (patch) | |
| tree | 661cc7d8f6423f0caa9628e648059f6dadab121f /tests/rustdoc-gui | |
| parent | f5cd2c5888011d4d80311e5b771c6da507d860dd (diff) | |
| parent | 64aa4c6e2546b88de8dbb098158839b30dc04ac6 (diff) | |
Auto merge of #130768 - compiler-errors:rollup-8ncjy55, r=compiler-errors
Rollup of 7 pull requests Successful merges: - #129545 (rustdoc: redesign toolbar and disclosure widgets) - #130618 (Skip query in get_parent_item when possible.) - #130727 (Check vtable projections for validity in miri) - #130750 (Add new Tier-3 target: `loongarch64-unknown-linux-ohos`) - #130758 (Revert "Add recursion limit to FFI safety lint") - #130759 (Update books) - #130762 (stabilize const_intrinsic_copy) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'tests/rustdoc-gui')
23 files changed, 95 insertions, 112 deletions
diff --git a/tests/rustdoc-gui/anchors.goml b/tests/rustdoc-gui/anchors.goml index 61b2e8880c6..3168c8e17c5 100644 --- a/tests/rustdoc-gui/anchors.goml +++ b/tests/rustdoc-gui/anchors.goml @@ -12,8 +12,7 @@ define-function: ( call-function: ("switch-theme", {"theme": |theme|}) assert-css: ("#toggle-all-docs", {"color": |main_color|}) - assert-css: (".main-heading h1 a:nth-of-type(1)", {"color": |main_heading_color|}) - assert-css: (".main-heading a:nth-of-type(2)", {"color": |main_heading_type_color|}) + assert-css: (".main-heading h1 span", {"color": |main_heading_type_color|}) assert-css: ( ".rightside a.src", {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|}, @@ -55,7 +54,7 @@ define-function: ( assert-css: ("#top-doc-prose-title", {"color": |title_color|}) assert-css: (".sidebar .block a", {"color": |sidebar_link_color|}) - assert-css: (".main-heading h1 a", {"color": |title_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" diff --git a/tests/rustdoc-gui/help-page.goml b/tests/rustdoc-gui/help-page.goml index f1a2675128c..6d6e353ae36 100644 --- a/tests/rustdoc-gui/help-page.goml +++ b/tests/rustdoc-gui/help-page.goml @@ -4,7 +4,7 @@ set-window-size: (1000, 1000) // Try desktop size first. wait-for: "#help" assert-css: ("#help", {"display": "block"}) assert-css: ("#help dd", {"font-size": "16px"}) -click: "#help-button > a" +assert-false: "#help-button > a" assert-css: ("#help", {"display": "block"}) compare-elements-property: (".sub", "#help", ["offsetWidth"]) compare-elements-position: (".sub", "#help", ["x"]) @@ -50,7 +50,8 @@ call-function: ("check-colors", { }) // This test ensures that opening the help popover without switching pages works. -go-to: "file://" + |DOC_PATH| + "/test_docs/index.html" +go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=a" +wait-for: "#search-tabs" // Waiting for the search.js to load. set-window-size: (1000, 1000) // Only supported on desktop. assert-false: "#help" click: "#help-button > a" @@ -62,7 +63,8 @@ compare-elements-property-false: (".sub", "#help", ["offsetWidth"]) compare-elements-position-false: (".sub", "#help", ["x"]) // This test ensures that the "the rustdoc book" anchor link within the help popover works. -go-to: "file://" + |DOC_PATH| + "/test_docs/index.html" +go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=a" +wait-for: "#search-tabs" // Waiting for the search.js to load. set-window-size: (1000, 1000) // Popover only appears when the screen width is >700px. assert-false: "#help" click: "#help-button > a" diff --git a/tests/rustdoc-gui/item-info.goml b/tests/rustdoc-gui/item-info.goml index 7a0194c6cc1..c8aa7b31cad 100644 --- a/tests/rustdoc-gui/item-info.goml +++ b/tests/rustdoc-gui/item-info.goml @@ -20,7 +20,7 @@ store-position: ( {"x": second_line_x, "y": second_line_y}, ) assert: |first_line_x| != |second_line_x| && |first_line_x| == 516 && |second_line_x| == 272 -assert: |first_line_y| != |second_line_y| && |first_line_y| == 688 && |second_line_y| == 711 +assert: |first_line_y| != |second_line_y| && |first_line_y| == 714 && |second_line_y| == 737 // Now we ensure that they're not rendered on the same line. set-window-size: (1100, 800) diff --git a/tests/rustdoc-gui/mobile.goml b/tests/rustdoc-gui/mobile.goml index e576385cd53..a9eee53dd1d 100644 --- a/tests/rustdoc-gui/mobile.goml +++ b/tests/rustdoc-gui/mobile.goml @@ -5,23 +5,8 @@ set-window-size: (400, 600) set-font-size: 18 wait-for: 100 // wait a bit for the resize and the font-size change to be fully taken into account. -// The out-of-band info (source, stable version, collapse) should be below the -// h1 when the screen gets narrow enough. -assert-css: (".main-heading", { - "display": "flex", - "flex-direction": "column" -}) - assert-property: (".mobile-topbar h2", {"offsetHeight": 33}) -// Note: We can't use assert-text here because the 'Since' is set by CSS and -// is therefore not part of the DOM. -assert-css: (".content .out-of-band .since::before", { "content": "\"Since \"" }) - -set-window-size: (1000, 1000) -wait-for: 100 // wait a bit for the resize to be fully taken into account. -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 // all be placed as a group on a line below the setting name "Theme." go-to: "file://" + |DOC_PATH| + "/settings.html" diff --git a/tests/rustdoc-gui/notable-trait.goml b/tests/rustdoc-gui/notable-trait.goml index e2a8a43007e..b8fa26b17f6 100644 --- a/tests/rustdoc-gui/notable-trait.goml +++ b/tests/rustdoc-gui/notable-trait.goml @@ -248,12 +248,13 @@ click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']" assert-count: ("//*[@class='tooltip popover']", 1) assert-false: "//*[@class='sidebar shown']" -// Also check the focus handling for the help button. +// Also check the focus handling for the settings button. set-window-size: (1100, 600) reload: assert-count: ("//*[@class='tooltip popover']", 0) click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']" assert-count: ("//*[@class='tooltip popover']", 1) -click: "#help-button a" +click: "#settings-menu a" +wait-for: "#settings" assert-count: ("//*[@class='tooltip popover']", 0) assert-false: "#method\.create_an_iterator_from_read .tooltip:focus" diff --git a/tests/rustdoc-gui/pocket-menu.goml b/tests/rustdoc-gui/pocket-menu.goml index ec31f492abe..4a062fec751 100644 --- a/tests/rustdoc-gui/pocket-menu.goml +++ b/tests/rustdoc-gui/pocket-menu.goml @@ -1,6 +1,7 @@ // This test ensures that the "pocket menus" are working as expected. include: "utils.goml" -go-to: "file://" + |DOC_PATH| + "/test_docs/index.html" +go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=test" +wait-for: "#crate-search" // First we check that the help menu doesn't exist yet. assert-false: "#help-button .popover" // Then we display the help menu. diff --git a/tests/rustdoc-gui/scrape-examples-layout.goml b/tests/rustdoc-gui/scrape-examples-layout.goml index be14e202b37..fd0774c91b6 100644 --- a/tests/rustdoc-gui/scrape-examples-layout.goml +++ b/tests/rustdoc-gui/scrape-examples-layout.goml @@ -80,8 +80,8 @@ click: ".scraped-example .button-holder .expand" store-value: (offset_y, 4) // First with desktop -assert-position: (".scraped-example", {"y": 226}) -assert-position: (".scraped-example .prev", {"y": 226 + |offset_y|}) +assert-position: (".scraped-example", {"y": 252}) +assert-position: (".scraped-example .prev", {"y": 252 + |offset_y|}) // Gradient background should be at the top of the code block. assert-css: (".scraped-example .example-wrap::before", {"top": "0px"}) @@ -90,8 +90,8 @@ assert-css: (".scraped-example .example-wrap::after", {"bottom": "0px"}) // Then with mobile set-window-size: (600, 600) store-size: (".scraped-example .scraped-example-title", {"height": title_height}) -assert-position: (".scraped-example", {"y": 284}) -assert-position: (".scraped-example .prev", {"y": 284 + |offset_y| + |title_height|}) +assert-position: (".scraped-example", {"y": 281}) +assert-position: (".scraped-example .prev", {"y": 281 + |offset_y| + |title_height|}) define-function: ( "check_title_and_code_position", diff --git a/tests/rustdoc-gui/search-filter.goml b/tests/rustdoc-gui/search-filter.goml index d6421599a20..c5038e0892b 100644 --- a/tests/rustdoc-gui/search-filter.goml +++ b/tests/rustdoc-gui/search-filter.goml @@ -56,7 +56,8 @@ assert-property: ("#crate-search", {"value": "lib2"}) assert-false: "#results .externcrate" // Checking that the text for the "title" is correct (the "all crates" comes from the "<select>"). -assert-text: (".search-results-title", "Results in all crates", STARTS_WITH) +assert-text: (".search-results-title", "Results", STARTS_WITH) +assert-text: (".search-results-title + .sub-heading", " in all crates", STARTS_WITH) // Checking the display of the crate filter. // We start with the light theme. @@ -84,6 +85,6 @@ wait-for-css: ("#crate-search", { click: "#theme-ayu" wait-for-css: ("#crate-search", { "border": "1px solid #5c6773", - "color": "#fff", + "color": "#c5c5c5", "background-color": "#0f1419", }) diff --git a/tests/rustdoc-gui/search-form-elements.goml b/tests/rustdoc-gui/search-form-elements.goml index 63d2ceb3e7c..efe39f7a9d1 100644 --- a/tests/rustdoc-gui/search-form-elements.goml +++ b/tests/rustdoc-gui/search-form-elements.goml @@ -1,13 +1,14 @@ // This test ensures that the elements in ".search-form" have the expected display. include: "utils.goml" -go-to: "file://" + |DOC_PATH| + "/test_docs/index.html" +go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=test" +wait-for: "#search-tabs" // Waiting for the search.js to load. show-text: true define-function: ( "check-search-colors", [ theme, border, background, search_input_color, search_input_border_focus, - menu_button_border, menu_button_a_color, menu_button_a_border_hover, menu_a_color, + menu_button_a_color, menu_button_a_border_hover, menu_a_color, ], block { call-function: ("switch-theme", {"theme": |theme|}) @@ -30,29 +31,21 @@ define-function: ( }, ) assert-css: ( - "#help-button", - {"border-color": |menu_button_border|}, - ) - assert-css: ( "#help-button > a", { "color": |menu_button_a_color|, - "border-color": |border|, - "background-color": |background|, + "border-color": "transparent", + "background-color": "transparent", }, ) // Hover help button. move-cursor-to: "#help-button" assert-css: ( - "#help-button:hover", - {"border-color": |menu_button_border|}, - ) - assert-css: ( "#help-button > a", { "color": |menu_button_a_color|, "border-color": |menu_button_a_border_hover|, - "background-color": |background|, + "background-color": "transparent", }, ) // Link color inside @@ -64,29 +57,21 @@ define-function: ( }, ) assert-css: ( - "#settings-menu", - {"border-color": |menu_button_border|}, - ) - assert-css: ( "#settings-menu > a", { "color": |menu_button_a_color|, - "border-color": |border|, - "background-color": |background|, + "border-color": "transparent", + "background-color": "transparent", }, ) // Hover settings menu. move-cursor-to: "#settings-menu" assert-css: ( - "#settings-menu:hover", - {"border-color": |menu_button_border|}, - ) - assert-css: ( "#settings-menu:hover > a", { "color": |menu_button_a_color|, "border-color": |menu_button_a_border_hover|, - "background-color": |background|, + "background-color": "transparent", }, ) }, @@ -100,8 +85,7 @@ call-function: ( "background": "#141920", "search_input_color": "#fff", "search_input_border_focus": "#5c6773", - "menu_button_border": "#c5c5c5", - "menu_button_a_color": "#fff", + "menu_button_a_color": "#c5c5c5", "menu_button_a_border_hover": "#e0e0e0", "menu_a_color": "#39afd7", } @@ -114,8 +98,7 @@ call-function: ( "background": "#f0f0f0", "search_input_color": "#111", "search_input_border_focus": "#008dfd", - "menu_button_border": "#ddd", - "menu_button_a_color": "#000", + "menu_button_a_color": "#ddd", "menu_button_a_border_hover": "#ffb900", "menu_a_color": "#d2991d", } @@ -128,7 +111,6 @@ call-function: ( "background": "#fff", "search_input_color": "#000", "search_input_border_focus": "#66afe9", - "menu_button_border": "#000", "menu_button_a_color": "#000", "menu_button_a_border_hover": "#717171", "menu_a_color": "#3873ad", diff --git a/tests/rustdoc-gui/search-result-display.goml b/tests/rustdoc-gui/search-result-display.goml index 3ca46f3c569..156244f92b4 100644 --- a/tests/rustdoc-gui/search-result-display.goml +++ b/tests/rustdoc-gui/search-result-display.goml @@ -50,8 +50,11 @@ compare-elements-size-near: ( set-window-size: (900, 900) // First we check the current width, height and position. -assert-css: ("#crate-search", {"width": "223px"}) -assert-css: (".search-results-title", {"height": "50px", "width": "640px"}) +assert-css: ("#crate-search", {"width": "159px"}) +store-size: (".search-results-title", { + "height": search_results_title_height, + "width": search_results_title_width, +}) assert-css: ("#search", {"width": "640px"}) // Then we update the text of one of the `<option>`. @@ -61,10 +64,12 @@ set-text: ( ) // Then we compare again to confirm the height didn't change. -assert-size: ("#crate-search", {"width": 527}) -assert-size: (".search-results-title", {"height": 50, "width": 640}) -// And we check that the `<select>` isn't bigger than its container (".search-results-title"). +assert-size: ("#crate-search", {"width": 509}) +assert-size: (".search-results-title", { + "height": |search_results_title_height|, +}) assert-css: ("#search", {"width": "640px"}) +assert: |search_results_title_width| <= 640 // Now checking that the crate filter is working as expected too. show-text: true diff --git a/tests/rustdoc-gui/search-result-go-to-first.goml b/tests/rustdoc-gui/search-result-go-to-first.goml index f4cfe096386..136213c517e 100644 --- a/tests/rustdoc-gui/search-result-go-to-first.goml +++ b/tests/rustdoc-gui/search-result-go-to-first.goml @@ -16,4 +16,5 @@ assert-css: ("#main-content", {"display": "none"}) // Now we can check that the feature is working as expected! go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=struct%3AFoo&go_to_first=true" // Waiting for the page to load... -wait-for-text: (".main-heading h1", "Struct test_docs::FooCopy item path") +wait-for-text: (".main-heading .rustdoc-breadcrumbs", "test_docs") +wait-for-text: (".main-heading h1", "Struct FooCopy item path") diff --git a/tests/rustdoc-gui/settings-button.goml b/tests/rustdoc-gui/settings-button.goml index c38a537e047..d78034769e2 100644 --- a/tests/rustdoc-gui/settings-button.goml +++ b/tests/rustdoc-gui/settings-button.goml @@ -11,8 +11,8 @@ define-function: ( call-function: ("switch-theme", {"theme": |theme|}) assert-css: ("#settings-menu > a::before", { "filter": |filter|, - "width": "22px", - "height": "22px", + "width": "18px", + "height": "18px", }) } ) @@ -23,9 +23,9 @@ call-function: ("check-image", { }) call-function: ("check-image", { "theme": "dark", - "filter": "none", + "filter": "invert(0.65)", }) call-function: ("check-image", { "theme": "light", - "filter": "none", + "filter": "invert(0.35)", }) diff --git a/tests/rustdoc-gui/settings.goml b/tests/rustdoc-gui/settings.goml index 3f4f2946bf5..1d93c07f9ec 100644 --- a/tests/rustdoc-gui/settings.goml +++ b/tests/rustdoc-gui/settings.goml @@ -305,6 +305,7 @@ wait-for-css: ("#help-button .popover", {"display": "block"}) // Now we go to the settings page to check that the CSS is loaded as expected. go-to: "file://" + |DOC_PATH| + "/settings.html" wait-for: "#settings" +assert-false: "#settings-menu" assert-css: (".setting-radio", {"cursor": "pointer"}) assert-attribute-false: ("#settings", {"class": "popover"}, CONTAINS) @@ -324,6 +325,5 @@ javascript: true show-text: true reload: set-window-size: (300, 1000) -click: "#settings-menu" wait-for: "#settings" assert-css: (".setting-radio", {"cursor": "pointer"}) diff --git a/tests/rustdoc-gui/shortcuts.goml b/tests/rustdoc-gui/shortcuts.goml index 2c61ee5428b..5a6171d6f76 100644 --- a/tests/rustdoc-gui/shortcuts.goml +++ b/tests/rustdoc-gui/shortcuts.goml @@ -13,19 +13,19 @@ press-key: "Escape" assert-css: ("#help-button .popover", {"display": "none"}) // Checking doc collapse and expand. // It should be displaying a "-": -assert-text: ("#toggle-all-docs", "[−]") +assert-text: ("#toggle-all-docs", "Summary") press-key: "-" -wait-for-text: ("#toggle-all-docs", "[+]") +wait-for-text: ("#toggle-all-docs", "Show all") assert-attribute: ("#toggle-all-docs", {"class": "will-expand"}) // Pressing it again shouldn't do anything. press-key: "-" -assert-text: ("#toggle-all-docs", "[+]") +assert-text: ("#toggle-all-docs", "Show all") assert-attribute: ("#toggle-all-docs", {"class": "will-expand"}) // Expanding now. press-key: "+" -wait-for-text: ("#toggle-all-docs", "[−]") +wait-for-text: ("#toggle-all-docs", "Summary") assert-attribute: ("#toggle-all-docs", {"class": ""}) // Pressing it again shouldn't do anything. press-key: "+" -assert-text: ("#toggle-all-docs", "[−]") +assert-text: ("#toggle-all-docs", "Summary") assert-attribute: ("#toggle-all-docs", {"class": ""}) diff --git a/tests/rustdoc-gui/sidebar-source-code-display.goml b/tests/rustdoc-gui/sidebar-source-code-display.goml index 67152afbbaa..c3e02c4e9b4 100644 --- a/tests/rustdoc-gui/sidebar-source-code-display.goml +++ b/tests/rustdoc-gui/sidebar-source-code-display.goml @@ -141,7 +141,7 @@ click: "#sidebar-button" wait-for-css: (".src .sidebar > *", {"visibility": "hidden"}) // We scroll to line 117 to change the scroll position. scroll-to: '//*[@id="117"]' -store-value: (y_offset, "2493") +store-value: (y_offset, "2564") assert-window-property: {"pageYOffset": |y_offset|} // Expanding the sidebar... click: "#sidebar-button" diff --git a/tests/rustdoc-gui/sidebar.goml b/tests/rustdoc-gui/sidebar.goml index 7794cdbe9e2..bb7453fdeac 100644 --- a/tests/rustdoc-gui/sidebar.goml +++ b/tests/rustdoc-gui/sidebar.goml @@ -160,12 +160,12 @@ click: "//ul[@class='block mod']/preceding-sibling::h3/a" // PAGE: index.html assert-css: ("#modules", {"background-color": "#fdffd3"}) -// Finally, assert that the `[+]/[−]` toggle doesn't affect sidebar width. +// Finally, assert that the Summary toggle doesn't affect sidebar width. click: "#toggle-all-docs" -assert-text: ("#toggle-all-docs", "[+]") +assert-text: ("#toggle-all-docs", "Show all") assert-property: (".sidebar", {"clientWidth": "200"}) click: "#toggle-all-docs" -assert-text: ("#toggle-all-docs", "[−]") +assert-text: ("#toggle-all-docs", "Summary") assert-property: (".sidebar", {"clientWidth": "200"}) // Checks that all.html and index.html have their sidebar link in the same place. diff --git a/tests/rustdoc-gui/source-anchor-scroll.goml b/tests/rustdoc-gui/source-anchor-scroll.goml index 3508b26a0bf..166890abe4b 100644 --- a/tests/rustdoc-gui/source-anchor-scroll.goml +++ b/tests/rustdoc-gui/source-anchor-scroll.goml @@ -8,13 +8,13 @@ set-window-size: (600, 800) assert-property: ("html", {"scrollTop": "0"}) click: '//a[text() = "barbar" and @href="#5-7"]' -assert-property: ("html", {"scrollTop": "123"}) +assert-property: ("html", {"scrollTop": "194"}) click: '//a[text() = "bar" and @href="#28-36"]' -assert-property: ("html", {"scrollTop": "154"}) +assert-property: ("html", {"scrollTop": "225"}) click: '//a[normalize-space() = "sub_fn" and @href="#2-4"]' -assert-property: ("html", {"scrollTop": "51"}) +assert-property: ("html", {"scrollTop": "122"}) // We now check that clicking on lines doesn't change the scroll // Extra information: the "sub_fn" function header is on line 1. click: '//*[@id="6"]' -assert-property: ("html", {"scrollTop": "51"}) +assert-property: ("html", {"scrollTop": "122"}) diff --git a/tests/rustdoc-gui/source-code-page.goml b/tests/rustdoc-gui/source-code-page.goml index 619d2b37d8d..095354c2f4c 100644 --- a/tests/rustdoc-gui/source-code-page.goml +++ b/tests/rustdoc-gui/source-code-page.goml @@ -89,9 +89,9 @@ assert-css: (".src-line-numbers", {"text-align": "right"}) // do anything (and certainly not add a `#NaN` to the URL!). go-to: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html" // We use this assert-position to know where we will click. -assert-position: ("//*[@id='1']", {"x": 88, "y": 86}) +assert-position: ("//*[@id='1']", {"x": 88, "y": 163}) // We click on the left of the "1" anchor but still in the "src-line-number" `<pre>`. -click: (87, 77) +click: (163, 77) assert-document-property: ({"URL": "/lib.rs.html"}, ENDS_WITH) // Checking the source code sidebar. @@ -159,19 +159,21 @@ call-function: ("check-sidebar-dir-entry", { // Check the search form assert-css: ("nav.sub", {"flex-direction": "row"}) // The goal of this test is to ensure the search input is perfectly centered -// between the top of the page and the top of the gray code block. +// between the top of the page and the header. // To check this, we maintain the invariant: // // offsetTop[nav.sub form] = offsetTop[#main-content] - offsetHeight[nav.sub form] - offsetTop[nav.sub form] -assert-property: ("nav.sub form", {"offsetTop": 15, "offsetHeight": 34}) -assert-property: ("#main-content", {"offsetTop": 64}) +assert-position: ("nav.sub form", {"y": 15}) +assert-property: ("nav.sub form", {"offsetHeight": 34}) +assert-position: ("h1", {"y": 64}) // 15 = 64 - 34 - 15 // Now do the same check on moderately-sized, tablet mobile. set-window-size: (700, 700) assert-css: ("nav.sub", {"flex-direction": "row"}) -assert-property: ("nav.sub form", {"offsetTop": 8, "offsetHeight": 34}) -assert-property: ("#main-content", {"offsetTop": 50}) +assert-position: ("nav.sub form", {"y": 8}) +assert-property: ("nav.sub form", {"offsetHeight": 34}) +assert-position: ("h1", {"y": 50}) // 8 = 50 - 34 - 8 // Check the sidebar directory entries have a marker and spacing (tablet). diff --git a/tests/rustdoc-gui/src/theme_css/custom-theme.css b/tests/rustdoc-gui/src/theme_css/custom-theme.css index 366f09f22b2..5ea5009fb2e 100644 --- a/tests/rustdoc-gui/src/theme_css/custom-theme.css +++ b/tests/rustdoc-gui/src/theme_css/custom-theme.css @@ -52,6 +52,8 @@ --search-tab-button-selected-border-top-color: #0089ff; --search-tab-button-selected-background: #fff; --settings-menu-filter: none; + --settings-menu-hover-filter: invert(35%); + --settings-menu-disabled-filter: invert(14%) sepia(11%) saturate(14%) hue-rotate(337deg); --stab-background-color: #fff5d6; --stab-code-color: #000; --code-highlight-kw-color: #8959a8; diff --git a/tests/rustdoc-gui/toggle-click-deadspace.goml b/tests/rustdoc-gui/toggle-click-deadspace.goml index 37bc3f7c372..caca1b61493 100644 --- a/tests/rustdoc-gui/toggle-click-deadspace.goml +++ b/tests/rustdoc-gui/toggle-click-deadspace.goml @@ -12,4 +12,5 @@ assert-attribute-false: (".impl-items .toggle", {"open": ""}) // Click the "Trait" part of "impl Trait" and verify it navigates. click: "#impl-Trait-for-Foo h3 a:first-of-type" -assert-text: (".main-heading h1", "Trait lib2::TraitCopy item path") +assert-text: (".main-heading .rustdoc-breadcrumbs", "lib2") +assert-text: (".main-heading h1", "Trait TraitCopy item path") diff --git a/tests/rustdoc-gui/toggle-docs-mobile.goml b/tests/rustdoc-gui/toggle-docs-mobile.goml index b69aa6e30ca..59233d94fcc 100644 --- a/tests/rustdoc-gui/toggle-docs-mobile.goml +++ b/tests/rustdoc-gui/toggle-docs-mobile.goml @@ -3,12 +3,12 @@ go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html" set-window-size: (433, 600) assert-attribute: (".top-doc", {"open": ""}) -click: (4, 270) // This is the position of the top doc comment toggle +click: (4, 260) // This is the position of the top doc comment toggle assert-attribute-false: (".top-doc", {"open": ""}) -click: (4, 270) +click: (4, 260) assert-attribute: (".top-doc", {"open": ""}) // To ensure that the toggle isn't over the text, we check that the toggle isn't clicked. -click: (3, 270) +click: (3, 260) assert-attribute: (".top-doc", {"open": ""}) // Assert the position of the toggle on the top doc block. @@ -24,10 +24,10 @@ assert-position: ( // Now we do the same but with a little bigger width set-window-size: (600, 600) assert-attribute: (".top-doc", {"open": ""}) -click: (4, 270) // New Y position since all search elements are back on one line. +click: (4, 260) // New Y position since all search elements are back on one line. assert-attribute-false: (".top-doc", {"open": ""}) -click: (4, 270) +click: (4, 260) assert-attribute: (".top-doc", {"open": ""}) // To ensure that the toggle isn't over the text, we check that the toggle isn't clicked. -click: (3, 270) +click: (3, 260) assert-attribute: (".top-doc", {"open": ""}) diff --git a/tests/rustdoc-gui/toggle-docs.goml b/tests/rustdoc-gui/toggle-docs.goml index 1235ee4b754..4607c604eeb 100644 --- a/tests/rustdoc-gui/toggle-docs.goml +++ b/tests/rustdoc-gui/toggle-docs.goml @@ -2,12 +2,12 @@ include: "utils.goml" go-to: "file://" + |DOC_PATH| + "/test_docs/index.html" assert-attribute: ("#main-content > details.top-doc", {"open": ""}) -assert-text: ("#toggle-all-docs", "[−]") +assert-text: ("#toggle-all-docs", "Summary") click: "#toggle-all-docs" wait-for: 50 // This is now collapsed so there shouldn't be the "open" attribute on details. assert-attribute-false: ("#main-content > details.top-doc", {"open": ""}) -assert-text: ("#toggle-all-docs", "[+]") +assert-text: ("#toggle-all-docs", "Show all") assert-css: ( "#main-content > details.top-doc > summary", {"font-family": '"Fira Sans", Arial, NanumBarunGothic, sans-serif'}, @@ -15,12 +15,12 @@ assert-css: ( click: "#toggle-all-docs" // Not collapsed anymore so the "open" attribute should be back. wait-for-attribute: ("#main-content > details.top-doc", {"open": ""}) -assert-text: ("#toggle-all-docs", "[−]") +assert-text: ("#toggle-all-docs", "Summary") // Check that it works on non-module pages as well. go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html" // We first check that everything is visible. -assert-text: ("#toggle-all-docs", "[−]") +assert-text: ("#toggle-all-docs", "Summary") assert-attribute: ("#implementations-list details.toggle", {"open": ""}, ALL) assert-attribute: ("#trait-implementations-list details.toggle", {"open": ""}, ALL) assert-attribute-false: ( @@ -31,7 +31,7 @@ assert-attribute-false: ( // We collapse them all. click: "#toggle-all-docs" -wait-for-text: ("#toggle-all-docs", "[+]") +wait-for-text: ("#toggle-all-docs", "Show all") // We check that all <details> are collapsed (except for the impl block ones). assert-attribute-false: ("details.toggle:not(.implementors-toggle)", {"open": ""}, ALL) assert-attribute: ("#implementations-list > details.implementors-toggle", {"open": ""}) @@ -43,7 +43,7 @@ assert-attribute-false: ( ) // We open them all again. click: "#toggle-all-docs" -wait-for-text: ("#toggle-all-docs", "[−]") +wait-for-text: ("#toggle-all-docs", "Summary") assert-attribute: ("details.toggle", {"open": ""}, ALL) // Checking the toggles style. diff --git a/tests/rustdoc-gui/type-declation-overflow.goml b/tests/rustdoc-gui/type-declation-overflow.goml index 8df946c6f39..4f8fe78ea4d 100644 --- a/tests/rustdoc-gui/type-declation-overflow.goml +++ b/tests/rustdoc-gui/type-declation-overflow.goml @@ -51,22 +51,23 @@ store-property: (".mobile-topbar", {"scrollWidth": scrollWidth}) assert-property: (".mobile-topbar", {"clientWidth": |scrollWidth|}) assert-css: (".mobile-topbar h2", {"overflow-x": "hidden"}) -// Check wrapping for top main-heading h1 and out-of-band. -// On desktop, they wrap when too big. +// Check that main heading and toolbar go side-by-side, both on desktop and on mobile. set-window-size: (1100, 800) go-to: "file://" + |DOC_PATH| + "/lib2/too_long/struct.SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName.html" -compare-elements-position-false: (".main-heading h1", ".main-heading .out-of-band", ["y"]) +compare-elements-position: (".main-heading h1", ".main-heading rustdoc-toolbar", ["y"]) +compare-elements-position-near-false: (".main-heading h1", ".main-heading rustdoc-toolbar", {"x": 550}) go-to: "file://" + |DOC_PATH| + "/lib2/index.html" -compare-elements-position: (".main-heading h1", ".main-heading .out-of-band", ["y"]) -// make sure there is a gap between them -compare-elements-position-near-false: (".main-heading h1", ".main-heading .out-of-band", {"x": 550}) +compare-elements-position: (".main-heading h1", ".main-heading rustdoc-toolbar", ["y"]) +compare-elements-position-near-false: (".main-heading h1", ".main-heading rustdoc-toolbar", {"x": 550}) // On mobile, they always wrap. set-window-size: (600, 600) go-to: "file://" + |DOC_PATH| + "/lib2/too_long/struct.SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName.html" -compare-elements-position-false: (".main-heading h1", ".main-heading .out-of-band", ["y"]) +compare-elements-position: (".main-heading h1", ".main-heading rustdoc-toolbar", ["y"]) +compare-elements-position-near-false: (".main-heading h1", ".main-heading rustdoc-toolbar", {"x": 200}) go-to: "file://" + |DOC_PATH| + "/lib2/index.html" -compare-elements-position-false: (".main-heading h1", ".main-heading .out-of-band", ["y"]) +compare-elements-position: (".main-heading h1", ".main-heading rustdoc-toolbar", ["y"]) +compare-elements-position-near-false: (".main-heading h1", ".main-heading rustdoc-toolbar", {"x": 200}) // Now we will check that the scrolling is working. // First on an item with "hidden methods". |
