// 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|, })