rust/tests/rustdoc-gui/impl-block-doc.goml

43 lines
1.7 KiB
Plaintext

// Checks that the first sentence of an impl block doc is always visible even when the impl
// block is collapsed.
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.ImplDoc.html"
set-window-size: (900, 600)
define-function: (
"compare-size-and-pos",
[nth_impl],
block {
// First we collapse the impl block.
store-value: (impl_path, "#implementations-list details:nth-of-type(" + |nth_impl| + ")")
set-property: (|impl_path|, {"open": false})
wait-for: |impl_path| + ":not([open])"
store-value: (impl_path, |impl_path| + " summary")
store-size: (|impl_path|, {"height": impl_height})
store-position: (|impl_path|, {"y": impl_y})
store-size: (|impl_path| + " .docblock", {"height": doc_height})
store-position: (|impl_path| + " .docblock", {"y": doc_y})
assert: |impl_y| + |impl_height| >= |doc_y|
}
)
call-function: ("compare-size-and-pos", {"nth_impl": 1})
// Since the first impl block has a long line, we ensure that it doesn't display all of it.
assert: (|impl_y| + |impl_height|) <= (|doc_y| + |doc_height|)
call-function: ("compare-size-and-pos", {"nth_impl": 2})
// The second impl block has a short line.
assert: (|impl_y| + |impl_height|) >= (|doc_y| + |doc_height|)
// FIXME: Needs `if` condition to make this test check that `padding-top` on the "..." element
// is as expected for tables.
call-function: ("compare-size-and-pos", {"nth_impl": 3})
assert: (|impl_y| + |impl_height|) >= (|doc_y| + |doc_height|)
call-function: ("compare-size-and-pos", {"nth_impl": 4})
assert: (|impl_y| + |impl_height|) >= (|doc_y| + |doc_height|)
call-function: ("compare-size-and-pos", {"nth_impl": 5})
assert: (|impl_y| + |impl_height|) >= (|doc_y| + |doc_height|)