// Check that the line number column has the correct layout.
go-to: "file://" + |DOC_PATH| + "/scrape_examples/fn.test_many.html"

set-window-size: (1000, 1000)

// Check that it's not zero.
assert-property-false: (
    ".more-scraped-examples .scraped-example .src-line-numbers",
    {"clientWidth": "0"}
)

// Check that examples with very long lines have the same width as ones that don't.
store-property: (
    ".more-scraped-examples .scraped-example:nth-child(2) .src-line-numbers",
    {"clientWidth": clientWidth},
)

assert-property: (
    ".more-scraped-examples .scraped-example:nth-child(3) .src-line-numbers",
    {"clientWidth": |clientWidth|}
)

assert-property: (
    ".more-scraped-examples .scraped-example:nth-child(4) .src-line-numbers",
    {"clientWidth": |clientWidth|}
)

assert-property: (
    ".more-scraped-examples .scraped-example:nth-child(5) .src-line-numbers",
    {"clientWidth": |clientWidth|}
)

assert-property: (
    ".more-scraped-examples .scraped-example:nth-child(6) .src-line-numbers",
    {"clientWidth": |clientWidth|}
)

// The "title" should be located at the right bottom corner of the code example.
store-position: (".scraped-example .example-wrap", {"x": x, "y": y})
assert-size: (".scraped-example .example-wrap", {"height": 130})
store-size: (".scraped-example .example-wrap", {"width": width, "height": height})
store-size: (".scraped-example .scraped-example-title", {
    "width": title_width,
    "height": title_height,
})
assert-position: (".scraped-example .scraped-example-title", {
    "x": |x| + |width| - |title_width| - 5,
    "y": |y| + |height| - |title_height| - 8,
})

store-size: (".more-scraped-examples .scraped-example .example-wrap", {"height": more_height})
assert: |more_height| > |height|
assert-size: (".more-scraped-examples .scraped-example .example-wrap", {
    "height": 250,
    "width": |width|,
})

// Check that the expand button works and also that line number aligns with code.
move-cursor-to: ".scraped-example .rust"
click: ".scraped-example .button-holder .expand"
wait-for: ".scraped-example.expanded"
// They should have the same y position.
compare-elements-position: (
    ".scraped-example.expanded .src-line-numbers pre span",
    ".scraped-example.expanded .rust code",
    ["y"],
)
// And they should have the same height.
compare-elements-size: (
    ".scraped-example.expanded .src-line-numbers",
    ".scraped-example.expanded .rust",
    ["height"],
)
// Collapse code again.
click: ".scraped-example .button-holder .expand"

// Check that for both mobile and desktop sizes, the buttons in scraped examples are displayed
// correctly.

store-value: (offset_y, 4)

// First with desktop
assert-position: (".scraped-example", {"y": 252})
assert-position: (".scraped-example .prev", {"y": 252 + |offset_y|})

// Gradient background should be at the top of the code block.
assert-css: (".scraped-example .example-wrap::before", {"top": "0px"})
assert-css: (".scraped-example .example-wrap::after", {"bottom": "0px"})

// Then with mobile
set-window-size: (600, 600)
store-size: (".scraped-example .scraped-example-title", {"height": title_height})
assert-position: (".scraped-example", {"y": 287})
assert-position: (".scraped-example .prev", {"y": 287 + |offset_y| + |title_height|})

define-function: (
    "check_title_and_code_position",
    [],
    block {
        // Title should be above the code.
        store-position: (".scraped-example .example-wrap .src-line-numbers", {"x": x, "y": y})
        store-size: (".scraped-example .scraped-example-title", { "height": title_height })

        assert-position: (".scraped-example .scraped-example-title", {
            "x": |x|, // same X position.
            "y": |y| - |title_height|,
        })

        // Line numbers should be right beside the code.
        compare-elements-position: (
            ".scraped-example .example-wrap .src-line-numbers",
            ".scraped-example .example-wrap .rust",
            ["y"],
        )
    }
)

// Check that the title is now above the code.
call-function: ("check_title_and_code_position", {})

// Then with small mobile
set-window-size: (300, 300)
call-function: ("check_title_and_code_position", {})
