rust/tests/rustdoc-gui
Michael Howell 0b3c617ec0 rustdoc-search: add support for type parameters
When writing a type-driven search query in rustdoc, specifically one
with more than one query element, non-existent types become generic
parameters instead of auto-correcting (which is currently only done
for single-element queries) or giving no result. You can also force a
generic type parameter by writing `generic:T` (and can force it to not
use a generic type parameter with something like `struct:T` or whatever,
though if this happens it means the thing you're looking for doesn't
exist and will give you no results).

There is no syntax provided for specifying type constraints
for generic type parameters.

When you have a generic type parameter in a search query, it will only
match up with generic type parameters in the actual function, not
concrete types that match, not concrete types that implement a trait.
It also strictly matches based on when they're the same or different,
so `option<T>, option<U> -> option<U>` matches `Option::and`, but not
`Option::or`. Similarly, `option<T>, option<T> -> option<T>`` matches
`Option::or`, but not `Option::and`.
2023-09-03 13:06:06 -07:00
..
src Add GUI test for warning blocks 2023-08-14 13:51:41 +02:00
anchor-navigable.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
anchors.goml rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
basic-code.goml rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07: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 Migrate GUI colors test to original CSS color format 2023-09-03 12:49:22 +02:00
code-sidebar-toggle.goml rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07: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 Migrate GUI colors test to original CSS color format 2023-06-25 10:49:28 +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 Migrate GUI colors test to original CSS color format 2023-08-20 14:44:36 +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
fields.goml Add test to prevent regression for fields display 2023-06-21 17:42:53 +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 Migrate GUI colors test to original CSS color format 2023-07-15 15:14:06 +02:00
help-page.goml Fix GUI test for popover 2023-06-23 19:34:37 +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 Migrate GUI colors test to original CSS color format 2023-07-22 14:01:23 +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 rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
label-next-to-symbol.goml Migrate GUI colors test to original CSS color format 2023-07-23 13:05:40 +02:00
links-color.goml Migrate GUI colors test to original CSS color format 2023-08-08 20:31:03 +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 Migrate GUI colors test to original CSS color format 2023-07-02 11:15:23 +02: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 Migrate GUI colors test to original CSS color format 2023-08-02 00:44:41 +02:00
README.md
run-on-hover.goml Migrate GUI colors test to original CSS color format 2023-08-04 19:45:32 +02:00
rust-logo.goml Migrate GUI colors test to original CSS color format 2023-07-31 00:48:17 +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 Migrate GUI colors test to original CSS color format 2023-08-05 12:47:05 +02:00
search-corrections.goml rustdoc-search: add support for type parameters 2023-09-03 13:06:06 -07:00
search-error.goml Migrate GUI colors test to original CSS color format 2023-08-06 12:46:35 +02:00
search-filter.goml Migrate GUI colors test to original CSS color format 2023-07-01 13:18:28 +02:00
search-form-elements.goml Migrate GUI colors test to original CSS color format 2023-08-19 17:52:20 +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 Update rustdoc GUI tests 2023-07-18 14:34:24 +02:00
search-result-color.goml Update rustdoc GUI tests 2023-07-18 14:34:24 +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 Improve search-result-display.goml test 2023-06-30 11:45:42 +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 test 2023-06-14 14:22:17 +02:00
search-tab.goml Migrate GUI colors test to original CSS color format 2023-08-13 11:40:23 +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 Migrate GUI colors test to original CSS color format 2023-06-24 14:47:16 +02:00
shortcuts.goml Replace unicode value with character in shortcuts.goml test 2023-06-14 10:37:56 +02:00
sidebar-links-color.goml Migrate GUI colors test to original CSS color format 2023-08-12 12:05:13 +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 Migrate GUI colors test to original CSS color format 2023-08-03 11:25:33 +02:00
sidebar-source-code.goml rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
sidebar.goml Migrate GUI colors test to original CSS color format 2023-09-02 21:00:23 +02:00
source-anchor-scroll.goml Update jump to def tests 2023-07-12 16:50:43 +02: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 rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
src-font-size.goml rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07: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 Migrate GUI colors test to original CSS color format 2023-08-15 14:46:54 +02:00
warning-block.goml Remove unneeded "background_color" parameter 2023-08-26 11:25:04 +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