rust/tests/rustdoc-gui
Matthias Krüger e9b0c91cdd
Rollup merge of #124197 - GuillaumeGomez:move-duplicated-code, r=notriddle
Move duplicated code in functions in `tests/rustdoc-gui/notable-trait.goml`

It also allowed me to add some new common test like:

```
        assert-position: (
            "//*[`@class='tooltip` popover']",
            {"x": |popover_x|}
        )
```

r? `@notriddle`
2024-04-23 06:24:56 +02:00
..
src [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
anchor-navigable.goml
anchors.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
basic-code.goml
check_info_sign_position.goml
check-code-blocks-margin.goml
check-stab-in-docblock.goml
code-blocks-overflow.goml
code-color.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
code-sidebar-toggle.goml rustdoc: clean up source sidebar hide button 2023-12-17 23:06:31 -07:00
code-tags.goml rustdoc: rename /implementors to /impl.trait 2023-10-22 15:47:34 -07:00
codeblock-sub.goml
codeblock-tooltip.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
copy-path.goml Add GUI test for copy path button 2024-04-17 16:56:14 +02:00
cursor.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
default-settings.goml Migrate GUI colors test to original CSS color format 2023-09-23 20:03:03 +02:00
docblock-big-code-mobile.goml
docblock-code-block-line-number.goml Make theme switching closer to reality 2024-04-08 12:14:41 +02:00
docblock-details.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
docblock-table-overflow.goml
docblock-table.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
duplicate-macro-reexport.goml
enum-variants.goml
escape-key.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
extend-css.goml
fields.goml
font-weight.goml rustdoc: remove small from small-section-header 2023-11-29 13:40:07 -07:00
globals.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
go-to-collapsed-elem.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
hash-item-expansion.goml
headers-color.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
headings-anchor.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
headings.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
help-page.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
hide-mobile-topbar.goml rustdoc: allow resizing the sidebar 2023-10-11 10:26:36 -07:00
highlight-colors.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
huge-collection-of-constants.goml
huge-logo.goml Add back the column 2023-12-18 12:42:24 -07:00
impl_on_foreign_order.goml Add GUI test to ensure that implementations on foreign types are in the expected order 2023-11-02 18:02:14 +01:00
impl-default-expansion.goml
impl-doc.goml
implementors.goml
item-decl-colors.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
item-decl-comment-highlighting.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
item-info-alignment.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
item-info-overflow.goml
item-info.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
item-summary-table.goml
javascript-disabled.goml Add regression test to ensure that even if JS is enabled but not working, a theme will still get applied 2024-04-04 23:49:34 +02:00
jump-to-def-background.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
label-next-to-symbol.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
links-color.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
list_code_block.goml
method-margins.goml
mobile-crate-name.goml Add regression test for #120471 to ensure that long crate name are handled as expected on mobile 2024-01-31 16:40:23 +01:00
mobile.goml
module-items-font.goml
no-docblock.goml rustdoc: rename /implementors to /impl.trait 2023-10-22 15:47:34 -07:00
notable-trait.goml Move duplicated code in functions in tests/rustdoc-gui/notable-trait.goml 2024-04-20 14:53:14 +02:00
overflow-tooltip-information.goml
pocket-menu.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
README.md
run-on-hover.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
rust-logo.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
scrape-examples-button-focus.goml
scrape-examples-color.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
scrape-examples-fonts.goml
scrape-examples-layout.goml
scrape-examples-toggle.goml Make theme switching closer to reality 2024-04-08 12:14:41 +02:00
search-corrections.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
search-error.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
search-filter.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
search-form-elements.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
search-input-mobile.goml
search-keyboard.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
search-no-result.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
search-reexport.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
search-result-color.goml Make theme switching closer to reality 2024-04-08 12:14:41 +02:00
search-result-description.goml
search-result-display.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
search-result-go-to-first.goml rustdoc: update test cases 2024-04-09 20:22:13 -07:00
search-result-impl-disambiguation.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
search-result-keyword.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
search-tab-change-title-fn-sig.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
search-tab.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
setting-auto-hide-content-large-items.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
setting-auto-hide-item-methods-docs.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
setting-auto-hide-trait-implementations.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
setting-go-to-only-result.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
settings.goml Make theme switching closer to reality 2024-04-08 12:14:41 +02:00
shortcuts.goml
sidebar-links-color.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
sidebar-macro-reexport.goml
sidebar-mobile-scroll.goml
sidebar-mobile.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
sidebar-resize-close-popover.goml rustdoc: hide modals when resizing the sidebar 2024-01-08 09:54:05 -07:00
sidebar-resize-setting.goml Fix corner cases when dealing with mobile mode 2023-12-19 19:50:53 -07:00
sidebar-resize-window.goml rustdoc: fix resize trouble with mobile 2023-10-11 12:15:33 -07:00
sidebar-resize.goml rustdoc: allow resizing the sidebar 2023-10-11 10:26:36 -07:00
sidebar-source-code-display.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
sidebar-source-code.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
sidebar.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
source-anchor-scroll.goml rustdoc: fix rustdoc-gui tests for logo changes 2023-10-08 20:17:53 -07:00
source-code-page-code-scroll.goml
source-code-page.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
src-font-size.goml
stab-badge.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
struct-fields.goml
target.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
theme-change.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
theme-defaults.goml
theme-in-history.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
toggle-click-deadspace.goml rustdoc: update test cases 2024-04-09 20:22:13 -07:00
toggle-docs-mobile.goml
toggle-docs.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
toggle-implementors.goml
toggled-open-implementations.goml
tooltip-over-sidebar.goml rustdoc ui: adjust tooltip z-index to be above sidebar 2023-12-31 20:31:56 +01:00
trait-sidebar-item-order.goml rustdoc: rename /implementors to /impl.trait 2023-10-22 15:47:34 -07:00
type-declation-overflow.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00
type-impls.goml rustdoc: make JS trait impls act more like HTML 2023-10-22 16:51:32 -07:00
unsafe-fn.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
utils.goml Make theme switching closer to reality 2024-04-08 12:14:41 +02:00
warning-block.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
where-whitespace.goml Update to new browser-ui-test version 2024-04-01 22:25:01 +02:00

The tests present here are used to test the generated HTML from rustdoc. The goal is to prevent unsound/unexpected GUI changes.

This is using the browser-ui-test framework to do so. It works as follows:

It wraps puppeteer to send commands to a web browser in order to navigate and test what's being currently displayed in the web page.

You can find more information and its documentation in its repository.

If you need to have more information on the tests run, you can use --test-args:

$ ./x.py test tests/rustdoc-gui --stage 1 --test-args --debug

If you don't want to run in headless mode (helpful to debug sometimes), you can use --no-headless:

$ ./x.py test tests/rustdoc-gui --stage 1 --test-args --no-headless

To see the supported options, use --help.

Important to be noted: if the chromium instance crashes when you run it, you might need to use --no-sandbox to make it work:

$ ./x.py test tests/rustdoc-gui --stage 1 --test-args --no-sandbox