rust/tests/rustdoc-gui/copy-code.goml

55 lines
2.0 KiB
Plaintext

// Checks that the "copy code" button is not triggering JS error and its display
// isn't broken.
go-to: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
define-function: (
"check-copy-button",
[],
block {
// First we ensure that there are no "copy code" currently existing.
assert-count: (".example-wrap .copy-button", 0)
move-cursor-to: ".example-wrap"
assert-count: (".example-wrap .copy-button", 1)
// We now ensure it's only displayed when the example is hovered.
assert-css: (".example-wrap .copy-button", { "visibility": "visible" })
move-cursor-to: ".search-input"
assert-css: (".example-wrap .copy-button", { "visibility": "hidden" })
// Checking that the copy button has the same size as the "copy path" button.
compare-elements-size: (
"#copy-path",
".example-wrap:nth-of-type(1) .copy-button",
["height", "width"],
)
},
)
call-function: ("check-copy-button", {})
// Checking that the run button and the copy button have the same height and same width.
compare-elements-size: (
".example-wrap:nth-of-type(1) .test-arrow",
".example-wrap:nth-of-type(1) .copy-button",
["height", "width"],
)
// ... and the same y position.
compare-elements-position: (
".example-wrap:nth-of-type(1) .test-arrow",
".example-wrap:nth-of-type(1) .copy-button",
["y"],
)
store-size: (".example-wrap:nth-of-type(1) .copy-button", {
"height": copy_height,
"width": copy_width,
})
assert: |copy_height| > 0 && |copy_width| > 0
// Checking same things for the copy button when there is no run button.
go-to: "file://" + |DOC_PATH| + "/lib2/sub_mod/struct.Foo.html"
call-function: ("check-copy-button", {})
// Ensure there is no run button.
assert-count: (".example-wrap .test-arrow", 0)
// Check it's the same size without a run button.
assert-size: (".example-wrap:nth-of-type(1) .copy-button", {
"height": |copy_height|,
"width": |copy_width|,
})