Migrate to 0.16.0 browser-ui-test version

This commit is contained in:
Guillaume Gomez 2023-05-10 10:56:59 +02:00
parent 616fb42098
commit 0630283e9d
14 changed files with 55 additions and 66 deletions

View file

@ -143,7 +143,7 @@ async function runTests(opts, framework_options, files, results, status_bar, sho
const tests_queue = [];
for (const testPath of files) {
const callback = runTest(testPath, framework_options)
const callback = runTest(testPath, {"options": framework_options})
.then(out => {
const [output, nb_failures] = out;
results[nb_failures === 0 ? "successful" : "failed"].push({
@ -323,6 +323,7 @@ async function main(argv) {
if (results.failed.length > 0 || results.errored.length > 0) {
process.exit(1);
}
process.exit(0);
}
main(process.argv);

View file

@ -7,20 +7,26 @@ set-window-size: (786, 600)
// Confirms that there 3 paragraphs.
assert-count: (".top-doc .docblock p", 3)
// Checking that there is no scrollable content.
store-property: (clientHeight, ".top-doc .docblock p:nth-of-type(1)", "clientHeight")
store-property: (clientWidth, ".top-doc .docblock p:nth-of-type(1)", "clientWidth")
store-property: (".top-doc .docblock p:nth-of-type(1)", {
"clientHeight": clientHeight,
"clientWidth": clientWidth,
})
assert-property: (
".top-doc .docblock p:nth-of-type(1)",
{"scrollHeight": |clientHeight|, "scrollWidth": |clientWidth|},
)
store-property: (clientHeight, ".top-doc .docblock p:nth-of-type(2)", "clientHeight")
store-property: (clientWidth, ".top-doc .docblock p:nth-of-type(2)", "clientWidth")
store-property: (".top-doc .docblock p:nth-of-type(2)", {
"clientHeight": clientHeight,
"clientWidth": clientWidth,
})
assert-property: (
".top-doc .docblock p:nth-of-type(2)",
{"scrollHeight": |clientHeight|, "scrollWidth": |clientWidth|},
)
store-property: (clientHeight, ".top-doc .docblock p:nth-of-type(3)", "clientHeight")
store-property: (clientWidth, ".top-doc .docblock p:nth-of-type(3)", "clientWidth")
store-property: (".top-doc .docblock p:nth-of-type(3)", {
"clientHeight": clientHeight,
"clientWidth": clientWidth,
})
assert-property: (
".top-doc .docblock p:nth-of-type(3)",
{"scrollHeight": |clientHeight|, "scrollWidth": |clientWidth|},

View file

@ -1,5 +1,5 @@
// Test that code blocks nested within <sub> do not have a line height of 0.
go-to: "file://" + |DOC_PATH| + "/test_docs/codeblock_sub/index.html"
store-property: (codeblock_sub_1, "#codeblock-sub-1", "offsetHeight")
store-property: ("#codeblock-sub-1", {"offsetHeight": codeblock_sub_1})
assert-property-false: ("#codeblock-sub-3", { "offsetHeight": |codeblock_sub_1| })

View file

@ -4,8 +4,8 @@ go-to: "file://" + |DOC_PATH| + "/lib2/struct.Foo.html"
// We set a fixed size so there is no chance of "random" resize.
set-window-size: (1100, 800)
// We check that ".item-info" is bigger than its content.
assert-css: (".item-info", {"width": "840px"})
assert-css: (".item-info .stab", {"width": "289px"})
assert-size: (".item-info", {"width": 840})
assert-size: (".item-info .stab", {"width": 289})
assert-position: (".item-info .stab", {"x": 245})
// Now we ensure that they're not rendered on the same line.

View file

@ -225,12 +225,12 @@ assert: "#method\.create_an_iterator_from_read .tooltip:focus"
// Now we check that the focus isn't given back to the wrong item when opening
// another popover.
store-window-property: (scroll, "scrollY")
store-window-property: {"scrollY": scroll}
click: "#method\.create_an_iterator_from_read .fn"
// We ensure that the scroll position changed.
assert-window-property-false: {"scrollY": |scroll|}
// Store the new position.
store-window-property: (scroll, "scrollY")
store-window-property: {"scrollY": scroll}
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
wait-for: "//*[@class='tooltip popover']"
click: "#settings-menu a"
@ -239,12 +239,12 @@ click: ".search-input"
assert-window-property-false: {"scrollY": |scroll|}
// Same but with Escape handling.
store-window-property: (scroll, "scrollY")
store-window-property: {"scrollY": scroll}
click: "#method\.create_an_iterator_from_read .fn"
// We ensure that the scroll position changed.
assert-window-property-false: {"scrollY": |scroll|}
// Store the new position.
store-window-property: (scroll, "scrollY")
store-window-property: {"scrollY": scroll}
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
wait-for: "//*[@class='tooltip popover']"
click: "#settings-menu a"

View file

@ -3,7 +3,7 @@
go-to: "file://" + |DOC_PATH| + "/scrape_examples/fn.test.html"
// The next/prev buttons vertically scroll the code viewport between examples
store-property: (initialScrollTop, ".scraped-example-list > .scraped-example pre", "scrollTop")
store-property: (".scraped-example-list > .scraped-example pre", {"scrollTop": initialScrollTop})
focus: ".scraped-example-list > .scraped-example .next"
press-key: "Enter"
assert-property-false: (".scraped-example-list > .scraped-example pre", {
@ -16,7 +16,7 @@ assert-property: (".scraped-example-list > .scraped-example pre", {
}, NEAR)
// The expand button increases the scrollHeight of the minimized code viewport
store-property: (smallOffsetHeight, ".scraped-example-list > .scraped-example pre", "offsetHeight")
store-property: (".scraped-example-list > .scraped-example pre", {"offsetHeight": smallOffsetHeight})
assert-property-false: (".scraped-example-list > .scraped-example pre", {
"scrollHeight": |smallOffsetHeight|
}, NEAR)
@ -25,7 +25,7 @@ press-key: "Enter"
assert-property-false: (".scraped-example-list > .scraped-example pre", {
"offsetHeight": |smallOffsetHeight|
}, NEAR)
store-property: (fullOffsetHeight, ".scraped-example-list > .scraped-example pre", "offsetHeight")
store-property: (".scraped-example-list > .scraped-example pre", {"offsetHeight": fullOffsetHeight})
assert-property: (".scraped-example-list > .scraped-example pre", {
"scrollHeight": |fullOffsetHeight|
}, NEAR)

View file

@ -9,9 +9,8 @@ assert-property-false: (
// Check that examples with very long lines have the same width as ones that don't.
store-property: (
clientWidth,
".more-scraped-examples .scraped-example:nth-child(2) .code-wrapper .src-line-numbers",
"clientWidth"
{"clientWidth": clientWidth},
)
assert-property: (
@ -40,8 +39,8 @@ assert-property: (
store-value: (offset_y, 4)
// First with desktop
assert-position: (".scraped-example .code-wrapper", {"y": 253})
assert-position: (".scraped-example .code-wrapper .prev", {"y": 253 + |offset_y|})
assert-position: (".scraped-example .code-wrapper", {"y": 226})
assert-position: (".scraped-example .code-wrapper .prev", {"y": 226 + |offset_y|})
// Then with mobile
set-window-size: (600, 600)

View file

@ -32,8 +32,8 @@ set-text: (
)
// Then we compare again to confirm the height didn't change.
assert-css: ("#crate-search", {"width": "527px"})
assert-css: (".search-results-title", {"height": "50px", "width": "640px"})
assert-size: ("#crate-search", {"width": 527})
assert-size: (".search-results-title", {"height": 50, "width": 640})
// And we check that the `<select>` isn't bigger than its container (".search-results-title").
assert-css: ("#search", {"width": "640px"})

View file

@ -10,7 +10,7 @@ wait-for: "#settings"
assert-css: ("#settings", {"display": "block"})
// Store the line margin to compare with the settings.html later.
store-css: (setting_line_margin, ".setting-line", "margin")
store-css: (".setting-line", {"margin": setting_line_margin})
// Let's close it by clicking on the same button.
click: "#settings-menu"

View file

@ -152,14 +152,16 @@ assert-property: (".sidebar", {"clientWidth": "200"})
// Checks that all.html and index.html have their sidebar link in the same place.
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
store-property: (index_sidebar_width, ".sidebar .location a", "clientWidth")
store-property: (index_sidebar_height, ".sidebar .location a", "clientHeight")
store-property: (index_sidebar_x, ".sidebar .location a", "offsetTop")
store-property: (index_sidebar_y, ".sidebar .location a", "offsetLeft")
store-property: (".sidebar .location a", {
"clientWidth": index_sidebar_width,
"clientHeight": index_sidebar_height,
"offsetTop": index_sidebar_y,
"offsetLeft": index_sidebar_x,
})
go-to: "file://" + |DOC_PATH| + "/test_docs/all.html"
assert-property: (".sidebar .location a", {
"clientWidth": |index_sidebar_width|,
"clientHeight": |index_sidebar_height|,
"offsetTop": |index_sidebar_x|,
"offsetLeft": |index_sidebar_y|,
"offsetTop": |index_sidebar_y|,
"offsetLeft": |index_sidebar_x|,
})

View file

@ -117,9 +117,8 @@ assert-property: ("#source-sidebar details:first-of-type", {"open": "true"})
// Check the sidebar directory entries have a marker and spacing (desktop).
store-property: (
link_height,
"#source-sidebar > details:first-of-type.dir-entry[open] > .files > a",
"offsetHeight"
{"offsetHeight": link_height},
)
define-function: (
"check-sidebar-dir-entry",
@ -147,16 +146,10 @@ define-function: (
)
}
)
store-property: (
source_sidebar_title_height,
"#source-sidebar > .title",
"offsetHeight"
)
store-property: (
source_sidebar_title_y,
"#source-sidebar > .title",
"offsetTop"
)
store-property: ("#source-sidebar > .title", {
"offsetHeight": source_sidebar_title_height,
"offsetTop": source_sidebar_title_y,
})
call-function: ("check-sidebar-dir-entry", {
"x": 0,
// border + margin = 6
@ -182,16 +175,10 @@ assert-property: ("#main-content", {"offsetTop": 76})
// 21 = 76 - 34 - 21
// Check the sidebar directory entries have a marker and spacing (tablet).
store-property: (
source_sidebar_title_height,
"#source-sidebar > .title",
"offsetHeight"
)
store-property: (
source_sidebar_title_y,
"#source-sidebar > .title",
"offsetTop"
)
store-property: ("#source-sidebar > .title", {
"offsetHeight": source_sidebar_title_height,
"offsetTop": source_sidebar_title_y,
})
call-function: ("check-sidebar-dir-entry", {
"x": 0,
"y": |source_sidebar_title_y| + |source_sidebar_title_height| + 6,
@ -202,16 +189,10 @@ set-window-size: (450, 700)
assert-css: ("nav.sub", {"flex-direction": "column"})
// Check the sidebar directory entries have a marker and spacing (phone).
store-property: (
source_sidebar_title_height,
"#source-sidebar > .title",
"offsetHeight"
)
store-property: (
source_sidebar_title_y,
"#source-sidebar > .title",
"offsetTop"
)
store-property: ("#source-sidebar > .title", {
"offsetHeight": source_sidebar_title_height,
"offsetTop": source_sidebar_title_y,
})
call-function: ("check-sidebar-dir-entry", {
"x": 0,
"y": |source_sidebar_title_y| + |source_sidebar_title_height| + 6,
@ -219,5 +200,5 @@ call-function: ("check-sidebar-dir-entry", {
// Now we check that the logo has a bottom margin so it's not stuck to the search input.
assert-css: (".sub-logo-container > img", {"margin-bottom": "8px"})
store-property: (logo_height, ".sub-logo-container", "clientHeight")
store-property: (".sub-logo-container", {"clientHeight": logo_height})
assert-position: (".search-form", {"y": |logo_height| + 8})

View file

@ -11,6 +11,6 @@ assert-css: (".impl-items .srclink", {"font-size": "16px", "font-weight": 400},
assert-css: (".impl-items .code-header", {"font-size": "16px", "font-weight": 600}, ALL)
// Check that we can click on source link
store-document-property: (url, "URL")
store-document-property: {"URL": url}
click: ".impl-items .srclink"
assert-document-property-false: {"URL": |url|}

View file

@ -1,5 +1,5 @@
// This test ensures that each field is on its own line (In other words, they have display: block).
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.StructWithPublicUndocumentedFields.html"
store-property: (first_top, "//*[@id='structfield.first']", "offsetTop")
store-property: ("//*[@id='structfield.first']", {"offsetTop": first_top})
assert-property-false: ("//*[@id='structfield.second']", { "offsetTop": |first_top| })

View file

@ -39,7 +39,7 @@ assert-property: ("pre.item-decl", {"scrollWidth": "950"})
set-window-size: (600, 600)
go-to: "file://" + |DOC_PATH| + "/lib2/too_long/struct.SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName.html"
// It shouldn't have an overflow in the topbar either.
store-property: (scrollWidth, ".mobile-topbar h2", "scrollWidth")
store-property: (".mobile-topbar h2", {"scrollWidth": scrollWidth})
assert-property: (".mobile-topbar h2", {"clientWidth": |scrollWidth|})
assert-css: (".mobile-topbar h2", {"overflow-x": "hidden"})