rust/tests/rustdoc-gui
Michael Howell 12dc24f460 rustdoc-search: simplify rules for generics and type params
This commit is a response to feedback on the displayed type
signatures results, by making generics act stricter.

Generics are tightened by making order significant. This means
`Vec<Allocator>` now matches only with a true vector of allocators,
instead of matching the second type param. It also makes unboxing
within generics stricter, so `Result<A, B>` only matches if `B`
is in the error type and `A` is in the success type. The top level
of the function search is unaffected.

Find the discussion on:

* <https://rust-lang.zulipchat.com/#narrow/stream/393423-t-rustdoc.2Fmeetings/topic/meeting.202024-07-08/near/449965149>
* <https://github.com/rust-lang/rust/pull/124544#issuecomment-2204272265>
* <https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/deciding.20on.20semantics.20of.20generics.20in.20rustdoc.20search/near/476841363>
2024-10-30 12:27:48 -07:00
..
src Add GUI regression test for #130622 and for #131223 2024-10-04 18:01:52 +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: make the header show all three buttons 2024-09-10 17:56:06 -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 Add GUI regression test for code in doc blocks 2024-10-26 15:45:17 +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 Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
code-example-buttons.goml Simplify CSS but wrapping scraped example into a div and move the title out of the code block 2024-09-02 15:59:00 +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 Migrate to 0.16.0 browser-ui-test version 2023-05-11 11:34:22 +02:00
codeblock-tooltip.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
copy-code.goml Update GUI tests for code example buttons 2024-08-05 11:04:51 +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
deref-block.goml Add tests for new toggle on deref blocks 2024-07-15 20:07:24 +02:00
docblock-big-code-mobile.goml Update GUI test 2024-10-26 20:40:59 +02:00
docblock-code-block-line-number.goml Make use of wait-for*-false commands 2024-09-28 18:04:00 +02:00
docblock-details.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +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 Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
duplicate-macro-reexport.goml rustdoc: use <wbr>-tolerant function to check text contents 2024-07-29 08:46:11 -07: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 to new browser-ui-test version 2024-04-01 22:25:01 +02:00
extend-css.goml Add/update tests for --extend-css option 2023-04-12 20:07:10 +02:00
fields.goml Add GUI regression test for variant structfields margins 2024-10-28 11:16:38 +01:00
font-weight.goml rustdoc: use <wbr>-tolerant function to check text contents 2024-07-29 08:46:11 -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 Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
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 rustdoc: redesign toolbar and disclosure widgets 2024-09-10 17:56:05 -07: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 Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
huge-logo.goml rustdoc: add test cases for mile wide bar 2024-07-16 13:29:35 -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 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 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 Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
item-info.goml rustdoc: adjust spacing and typography in header 2024-10-23 19:15:23 -04:00
item-name-wrap.goml Add regression test for items list size (#128023) 2024-07-22 11:33:03 +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 rustdoc: dedup search form HTML 2024-05-05 08:15:08 -07: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 rustdoc: properly handle path wrapping 2024-07-29 10:31:02 -07:00
links-color.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
list_code_block.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
list-margins.goml Add GUI regression test for #130622 and for #131223 2024-10-04 18:01:52 +02:00
method-margins.goml Update rustdoc GUI tests to new browser-ui-test version 2023-04-11 19:14:35 +02:00
methods-left-margin.goml Strengthen some GUI tests 2024-10-09 21:23:20 +02:00
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 rustdoc: redesign toolbar and disclosure widgets 2024-09-10 17:56:05 -07: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 rustdoc: rename /implementors to /impl.trait 2023-10-22 15:47:34 -07:00
notable-trait.goml Strengthen some GUI tests 2024-10-09 21:23:20 +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 rustdoc: redesign toolbar and disclosure widgets 2024-09-10 17:56:05 -07:00
README.md Enable --no-sandbox option by default for rustdoc GUI tests 2024-10-04 12:11:23 +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 Fix wrong padding for expanded scraped example 2024-09-03 01:04:59 +02:00
scrape-examples-color.goml Simplify CSS but wrapping scraped example into a div and move the title out of the code block 2024-09-02 15:59:00 +02:00
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 rustdoc: adjust spacing and typography in header 2024-10-23 19:15:23 -04:00
scrape-examples-toggle.goml Make theme switching closer to reality 2024-04-08 12:14:41 +02:00
search-about-this-result.goml rustdoc-search: simplify rules for generics and type params 2024-10-30 12:27:48 -07:00
search-corrections.goml rustdoc-search: pass original names through AST 2024-10-30 10:35:38 -07:00
search-error.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
search-filter.goml rustdoc: make the header show all three buttons 2024-09-10 17:56:06 -07:00
search-form-elements.goml rustdoc: redesign toolbar and disclosure widgets 2024-09-10 17:56:05 -07: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 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 rustdoc: use <wbr>-tolerant function to check text contents 2024-07-29 08:46:11 -07: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 rustdoc-gui: fix test cases 2024-09-29 10:02:06 -07:00
search-result-go-to-first.goml Tweak breadcrumbs list 2024-09-23 09:21:39 -07:00
search-result-impl-disambiguation.goml rustdoc-search: account for numeric disambiguators on impls 2024-08-06 07:36:12 -07: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
search-title.goml Add rustdoc GUI test to check title with and without search 2024-07-27 12:12:16 +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-button.goml rustdoc: redesign toolbar and disclosure widgets 2024-09-10 17:56:05 -07:00
settings.goml rustdoc: redesign toolbar and disclosure widgets 2024-09-10 17:56:05 -07:00
shortcuts.goml rustdoc: redesign toolbar and disclosure widgets 2024-09-10 17:56:05 -07:00
sidebar-links-color.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
sidebar-macro-reexport.goml rustdoc: use <wbr>-tolerant function to check text contents 2024-07-29 08:46:11 -07:00
sidebar-mobile-scroll.goml rustdoc: use CSS overscroll-behavior instead of JavaScript 2023-04-12 10:31:06 -07:00
sidebar-mobile.goml rustdoc: use <wbr>-tolerant function to check text contents 2024-07-29 08:46:11 -07:00
sidebar-modnav-position.goml rustdoc: add test case for modnav position when TOC is off 2024-08-20 16:54:04 -07: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 rustdoc: adjust spacing and typography in header 2024-10-23 19:15:23 -04:00
sidebar-source-code.goml rustdoc: use <wbr>-tolerant function to check text contents 2024-07-29 08:46:11 -07:00
sidebar.goml rustdoc: redesign toolbar and disclosure widgets 2024-09-10 17:56:05 -07:00
source-anchor-scroll.goml rustdoc: adjust spacing and typography in header 2024-10-23 19:15:23 -04:00
source-code-page-code-scroll.goml Update source-code-page-code-scroll.goml GUI test 2024-07-21 12:47:34 +02:00
source-code-page.goml rustdoc: adjust spacing and typography in header 2024-10-23 19:15:23 -04:00
src-font-size.goml rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
stab-badge.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
stab-in-doc.goml Add regression test for stab display in doc blocks 2024-07-21 11:52:24 +02:00
struct-fields.goml Add GUI regression test for doc struct fields margins 2024-10-27 11:26:45 +01:00
target.goml rustdoc: animate the :target highlight 2024-08-19 18:14:35 -07:00
theme-change.goml Use include command to reduce code duplication 2024-04-05 21:38:55 +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 Use include command to reduce code duplication 2024-04-05 21:38:55 +02:00
toggle-click-deadspace.goml Tweak breadcrumbs list 2024-09-23 09:21:39 -07:00
toggle-docs-mobile.goml rustdoc-gui: fix test cases 2024-09-29 10:02:06 -07:00
toggle-docs.goml rustdoc: redesign toolbar and disclosure widgets 2024-09-10 17:56:05 -07: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
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
trait-with-bounds.goml Add GUI test for trait bounds display 2024-07-19 21:31:30 +02:00
type-declation-overflow.goml rustdoc: redesign toolbar and disclosure widgets 2024-09-10 17:56:05 -07: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.