diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-07-30 04:31:55 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-30 04:31:55 +0200 |
| commit | c2b085b4d498f44e65bf8d7d25daeefcc8dba90d (patch) | |
| tree | 47b208e86fa7c566281394a0a35a56c83a17ef5a /tests/rustdoc-gui/code-example-buttons.goml | |
| parent | f396a42ed6cad32dc6f5860b49f85f0d9a10a997 (diff) | |
| parent | 99906dc89c241d29c6e63d10f719d36d81a9a049 (diff) | |
| download | rust-c2b085b4d498f44e65bf8d7d25daeefcc8dba90d.tar.gz rust-c2b085b4d498f44e65bf8d7d25daeefcc8dba90d.zip | |
Rollup merge of #128339 - GuillaumeGomez:click-code-example, r=notriddle
[rustdoc] Make the buttons remain when code example is clicked Follow-up of https://github.com/rust-lang/rust/pull/125779. One current issue we have with "run" button and the newly added copy code button is that if you're on mobile devices, you can't use them. I took a look at how `mdbook` is handling it and when you click on a code example, they show the buttons. I think it's a really good idea as if you want to copy the code on your mobile device, you will click on it, showing the buttons. Feature can be tested [here](https://rustdoc.crud.net/imperio/click-code-example/foo/struct.Bar.html). r? `@notriddle`
Diffstat (limited to 'tests/rustdoc-gui/code-example-buttons.goml')
| -rw-r--r-- | tests/rustdoc-gui/code-example-buttons.goml | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/rustdoc-gui/code-example-buttons.goml b/tests/rustdoc-gui/code-example-buttons.goml new file mode 100644 index 00000000000..57ea2970072 --- /dev/null +++ b/tests/rustdoc-gui/code-example-buttons.goml @@ -0,0 +1,21 @@ +// This test ensures that code blocks buttons are displayed on hover and when you click on them. +go-to: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html" + +// First we check we "hover". +move-cursor-to: ".example-wrap" +assert-css: (".example-wrap .copy-button", { "visibility": "visible" }) +move-cursor-to: ".search-input" +assert-css: (".example-wrap .copy-button", { "visibility": "hidden" }) + +// Now we check the click. +assert-count: (".example-wrap:not(:hover) .button-holder.keep-visible", 0) +click: ".example-wrap" +move-cursor-to: ".search-input" +// It should have a new class and be visible. +wait-for-count: (".example-wrap:not(:hover) .button-holder.keep-visible", 1) +wait-for-css: (".example-wrap:not(:hover) .button-holder.keep-visible", { "visibility": "visible" }) +// Clicking again will remove the class. +click: ".example-wrap" +move-cursor-to: ".search-input" +assert-count: (".example-wrap:not(:hover) .button-holder.keep-visible", 0) +assert-css: (".example-wrap .copy-button", { "visibility": "hidden" }) |
