rust/tests/rustdoc-gui
Matthias Krüger 63799ba549
Rollup merge of #112707 - GuillaumeGomez:back-in-history-fix, r=notriddle
[rustdoc] Fix invalid handling of "going back in history" when "go to only search result" setting is enabled

You can test the fix [here](https://rustdoc.crud.net/imperio/back-in-history-fix/lib2/index.html). Enable "Directly go to item in search if there is only one result", then search for `HasALongTraitWithParams` and finally go back to previous page. It should be back on the `index.html` page.

The reason for this bug is that the JS state is cached as is, so when we go back to the page, it resumes where it was left, somewhat (very weird), meaning the search is run again etc. The best way to handle this is to force the JS re-execution in this case so that it doesn't try to resume from where it left and then lead us back to the current page.

r? ``@notriddle``
2023-06-17 12:43:31 +02:00
..
src add compiletest headers to rustdoc-gui tests 2023-05-20 14:41:37 +03:00
anchor-navigable.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
anchors.goml Migrate GUI colors test to original CSS color format 2023-05-21 13:10:03 +02:00
basic-code.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
check_info_sign_position.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
check-code-blocks-margin.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
check-stab-in-docblock.goml Migrate to 0.16.0 browser-ui-test version 2023-05-11 11:34:22 +02:00
code-blocks-overflow.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
code-color.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
code-sidebar-toggle.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
code-tags.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
codeblock-sub.goml Migrate to 0.16.0 browser-ui-test version 2023-05-11 11:34:22 +02:00
codeblock-tooltip.goml rustdoc: add interaction delays for tooltip popovers 2023-05-23 15:56:40 -07:00
cursor.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
default-settings.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
docblock-big-code-mobile.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
docblock-code-block-line-number.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
docblock-details.goml Convert some GUI tests color checks to use original format 2023-05-11 11:49:16 +02:00
docblock-table-overflow.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
docblock-table.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
duplicate-macro-reexport.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
enum-variants.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
escape-key.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
extend-css.goml Add/update tests for --extend-css option 2023-04-12 20:07:10 +02:00
font-weight.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
go-to-collapsed-elem.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
hash-item-expansion.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
headers-color.goml Migrate GUI colors test to original CSS color format 2023-06-11 14:40:12 +02:00
headings.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
help-page.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
highlight-colors.goml Migrate GUI colors test to original CSS color format 2023-05-25 14:32:00 +02:00
huge-collection-of-constants.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
huge-logo.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
impl-default-expansion.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
impl-doc.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
implementors.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
item-decl-colors.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
item-info-alignment.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
item-info-overflow.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
item-info.goml Migrate to 0.16.0 browser-ui-test version 2023-05-11 11:34:22 +02:00
item-summary-table.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
javascript-disabled.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
jump-to-def-background.goml Migrate GUI colors test to original CSS color format 2023-05-23 15:26:59 +02:00
label-next-to-symbol.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
links-color.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
list_code_block.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
method-margins.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
mobile.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
module-items-font.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
no-docblock.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
notable-trait.goml rustdoc: add hover indicator for notable trait tooltip 2023-05-23 17:19:35 -07:00
overflow-tooltip-information.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
pocket-menu.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
README.md
run-on-hover.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
rust-logo.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
scrape-examples-button-focus.goml Migrate to 0.16.0 browser-ui-test version 2023-05-11 11:34:22 +02:00
scrape-examples-color.goml Rollup merge of #111844 - GuillaumeGomez:migrate-gui-test-color-4, r=notriddle 2023-05-23 00:32:20 +05:30
scrape-examples-fonts.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
scrape-examples-layout.goml Migrate to 0.16.0 browser-ui-test version 2023-05-11 11:34:22 +02:00
scrape-examples-toggle.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
search-corrections.goml rustdoc-search: use more descriptive "x not found; y instead" message 2023-04-20 14:32:02 -07:00
search-error.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
search-filter.goml Add/update tests for --extend-css option 2023-04-12 20:07:10 +02:00
search-form-elements.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
search-input-mobile.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
search-keyboard.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
search-no-result.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
search-reexport.goml Auto merge of #110688 - GuillaumeGomez:result-search-type, r=notriddle,jsha 2023-06-16 15:02:22 +00:00
search-result-color.goml Move type name directly into the same DOM element 2023-06-03 16:37:43 +02:00
search-result-description.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
search-result-display.goml Move type name directly into the same DOM element 2023-06-03 16:37:43 +02:00
search-result-go-to-first.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
search-result-keyword.goml Move type name directly into the same DOM element 2023-06-03 16:37:43 +02:00
search-tab-change-title-fn-sig.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
search-tab.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
setting-auto-hide-content-large-items.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
setting-auto-hide-item-methods-docs.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
setting-auto-hide-trait-implementations.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
setting-go-to-only-result.goml Add regression test for #112676 2023-06-16 20:41:00 +02:00
settings.goml rustdoc: remove unneeded position: relative setting CSS 2023-05-22 16:46:29 -07:00
shortcuts.goml Replace unicode value with character in shortcuts.goml test 2023-06-14 10:37:56 +02:00
sidebar-links-color.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
sidebar-macro-reexport.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
sidebar-mobile-scroll.goml rustdoc: use CSS overscroll-behavior instead of JavaScript 2023-04-12 10:31:06 -07:00
sidebar-mobile.goml Migrate GUI colors test to original CSS color format 2023-06-04 15:55:30 +02:00
sidebar-source-code-display.goml Convert some GUI tests color checks to use original format 2023-05-11 11:49:16 +02:00
sidebar-source-code.goml Add/update tests for --extend-css option 2023-04-12 20:07:10 +02:00
sidebar.goml Migrate to 0.16.0 browser-ui-test version 2023-05-11 11:34:22 +02:00
source-anchor-scroll.goml add compiletest headers to rustdoc-gui tests 2023-05-20 14:41:37 +03:00
source-code-page-code-scroll.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
source-code-page.goml Fix href attribute value check on Windows (DOC_PATH lacks an extra /) 2023-06-14 16:23:05 +02:00
src-font-size.goml Migrate to 0.16.0 browser-ui-test version 2023-05-11 11:34:22 +02:00
stab-badge.goml Migrate GUI colors test to original CSS color format 2023-05-24 14:41:18 +02:00
struct-fields.goml Migrate to 0.16.0 browser-ui-test version 2023-05-11 11:34:22 +02:00
target.goml Migrate GUI colors test to original CSS color format 2023-05-29 16:03:56 +02:00
theme-change.goml Migrate GUI colors test to original CSS color format 2023-06-07 17:42:04 +02:00
theme-defaults.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
theme-in-history.goml Migrate GUI colors test to original CSS color format 2023-05-31 13:03:46 +02:00
toggle-click-deadspace.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
toggle-docs-mobile.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
toggle-docs.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
toggle-implementors.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
toggled-open-implementations.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
trait-sidebar-item-order.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
type-declation-overflow.goml Migrate to 0.16.0 browser-ui-test version 2023-05-11 11:34:22 +02:00
unsafe-fn.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
where-whitespace.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +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