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

View file

@ -7,20 +7,26 @@ set-window-size: (786, 600)
// Confirms that there 3 paragraphs. // Confirms that there 3 paragraphs.
assert-count: (".top-doc .docblock p", 3) assert-count: (".top-doc .docblock p", 3)
// Checking that there is no scrollable content. // Checking that there is no scrollable content.
store-property: (clientHeight, ".top-doc .docblock p:nth-of-type(1)", "clientHeight") store-property: (".top-doc .docblock p:nth-of-type(1)", {
store-property: (clientWidth, ".top-doc .docblock p:nth-of-type(1)", "clientWidth") "clientHeight": clientHeight,
"clientWidth": clientWidth,
})
assert-property: ( assert-property: (
".top-doc .docblock p:nth-of-type(1)", ".top-doc .docblock p:nth-of-type(1)",
{"scrollHeight": |clientHeight|, "scrollWidth": |clientWidth|}, {"scrollHeight": |clientHeight|, "scrollWidth": |clientWidth|},
) )
store-property: (clientHeight, ".top-doc .docblock p:nth-of-type(2)", "clientHeight") store-property: (".top-doc .docblock p:nth-of-type(2)", {
store-property: (clientWidth, ".top-doc .docblock p:nth-of-type(2)", "clientWidth") "clientHeight": clientHeight,
"clientWidth": clientWidth,
})
assert-property: ( assert-property: (
".top-doc .docblock p:nth-of-type(2)", ".top-doc .docblock p:nth-of-type(2)",
{"scrollHeight": |clientHeight|, "scrollWidth": |clientWidth|}, {"scrollHeight": |clientHeight|, "scrollWidth": |clientWidth|},
) )
store-property: (clientHeight, ".top-doc .docblock p:nth-of-type(3)", "clientHeight") store-property: (".top-doc .docblock p:nth-of-type(3)", {
store-property: (clientWidth, ".top-doc .docblock p:nth-of-type(3)", "clientWidth") "clientHeight": clientHeight,
"clientWidth": clientWidth,
})
assert-property: ( assert-property: (
".top-doc .docblock p:nth-of-type(3)", ".top-doc .docblock p:nth-of-type(3)",
{"scrollHeight": |clientHeight|, "scrollWidth": |clientWidth|}, {"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. // 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" 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| }) 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. // We set a fixed size so there is no chance of "random" resize.
set-window-size: (1100, 800) set-window-size: (1100, 800)
// We check that ".item-info" is bigger than its content. // We check that ".item-info" is bigger than its content.
assert-css: (".item-info", {"width": "840px"}) assert-size: (".item-info", {"width": 840})
assert-css: (".item-info .stab", {"width": "289px"}) assert-size: (".item-info .stab", {"width": 289})
assert-position: (".item-info .stab", {"x": 245}) assert-position: (".item-info .stab", {"x": 245})
// Now we ensure that they're not rendered on the same line. // 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 // Now we check that the focus isn't given back to the wrong item when opening
// another popover. // another popover.
store-window-property: (scroll, "scrollY") store-window-property: {"scrollY": scroll}
click: "#method\.create_an_iterator_from_read .fn" click: "#method\.create_an_iterator_from_read .fn"
// We ensure that the scroll position changed. // We ensure that the scroll position changed.
assert-window-property-false: {"scrollY": |scroll|} assert-window-property-false: {"scrollY": |scroll|}
// Store the new position. // Store the new position.
store-window-property: (scroll, "scrollY") store-window-property: {"scrollY": scroll}
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']" click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
wait-for: "//*[@class='tooltip popover']" wait-for: "//*[@class='tooltip popover']"
click: "#settings-menu a" click: "#settings-menu a"
@ -239,12 +239,12 @@ click: ".search-input"
assert-window-property-false: {"scrollY": |scroll|} assert-window-property-false: {"scrollY": |scroll|}
// Same but with Escape handling. // Same but with Escape handling.
store-window-property: (scroll, "scrollY") store-window-property: {"scrollY": scroll}
click: "#method\.create_an_iterator_from_read .fn" click: "#method\.create_an_iterator_from_read .fn"
// We ensure that the scroll position changed. // We ensure that the scroll position changed.
assert-window-property-false: {"scrollY": |scroll|} assert-window-property-false: {"scrollY": |scroll|}
// Store the new position. // Store the new position.
store-window-property: (scroll, "scrollY") store-window-property: {"scrollY": scroll}
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']" click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
wait-for: "//*[@class='tooltip popover']" wait-for: "//*[@class='tooltip popover']"
click: "#settings-menu a" click: "#settings-menu a"

View file

@ -3,7 +3,7 @@
go-to: "file://" + |DOC_PATH| + "/scrape_examples/fn.test.html" go-to: "file://" + |DOC_PATH| + "/scrape_examples/fn.test.html"
// The next/prev buttons vertically scroll the code viewport between examples // 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" focus: ".scraped-example-list > .scraped-example .next"
press-key: "Enter" press-key: "Enter"
assert-property-false: (".scraped-example-list > .scraped-example pre", { assert-property-false: (".scraped-example-list > .scraped-example pre", {
@ -16,7 +16,7 @@ assert-property: (".scraped-example-list > .scraped-example pre", {
}, NEAR) }, NEAR)
// The expand button increases the scrollHeight of the minimized code viewport // 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", { assert-property-false: (".scraped-example-list > .scraped-example pre", {
"scrollHeight": |smallOffsetHeight| "scrollHeight": |smallOffsetHeight|
}, NEAR) }, NEAR)
@ -25,7 +25,7 @@ press-key: "Enter"
assert-property-false: (".scraped-example-list > .scraped-example pre", { assert-property-false: (".scraped-example-list > .scraped-example pre", {
"offsetHeight": |smallOffsetHeight| "offsetHeight": |smallOffsetHeight|
}, NEAR) }, 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", { assert-property: (".scraped-example-list > .scraped-example pre", {
"scrollHeight": |fullOffsetHeight| "scrollHeight": |fullOffsetHeight|
}, NEAR) }, 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. // Check that examples with very long lines have the same width as ones that don't.
store-property: ( store-property: (
clientWidth,
".more-scraped-examples .scraped-example:nth-child(2) .code-wrapper .src-line-numbers", ".more-scraped-examples .scraped-example:nth-child(2) .code-wrapper .src-line-numbers",
"clientWidth" {"clientWidth": clientWidth},
) )
assert-property: ( assert-property: (
@ -40,8 +39,8 @@ assert-property: (
store-value: (offset_y, 4) store-value: (offset_y, 4)
// First with desktop // First with desktop
assert-position: (".scraped-example .code-wrapper", {"y": 253}) assert-position: (".scraped-example .code-wrapper", {"y": 226})
assert-position: (".scraped-example .code-wrapper .prev", {"y": 253 + |offset_y|}) assert-position: (".scraped-example .code-wrapper .prev", {"y": 226 + |offset_y|})
// Then with mobile // Then with mobile
set-window-size: (600, 600) set-window-size: (600, 600)

View file

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

View file

@ -10,7 +10,7 @@ wait-for: "#settings"
assert-css: ("#settings", {"display": "block"}) assert-css: ("#settings", {"display": "block"})
// Store the line margin to compare with the settings.html later. // 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. // Let's close it by clicking on the same button.
click: "#settings-menu" 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. // Checks that all.html and index.html have their sidebar link in the same place.
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html" go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
store-property: (index_sidebar_width, ".sidebar .location a", "clientWidth") store-property: (".sidebar .location a", {
store-property: (index_sidebar_height, ".sidebar .location a", "clientHeight") "clientWidth": index_sidebar_width,
store-property: (index_sidebar_x, ".sidebar .location a", "offsetTop") "clientHeight": index_sidebar_height,
store-property: (index_sidebar_y, ".sidebar .location a", "offsetLeft") "offsetTop": index_sidebar_y,
"offsetLeft": index_sidebar_x,
})
go-to: "file://" + |DOC_PATH| + "/test_docs/all.html" go-to: "file://" + |DOC_PATH| + "/test_docs/all.html"
assert-property: (".sidebar .location a", { assert-property: (".sidebar .location a", {
"clientWidth": |index_sidebar_width|, "clientWidth": |index_sidebar_width|,
"clientHeight": |index_sidebar_height|, "clientHeight": |index_sidebar_height|,
"offsetTop": |index_sidebar_x|, "offsetTop": |index_sidebar_y|,
"offsetLeft": |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). // Check the sidebar directory entries have a marker and spacing (desktop).
store-property: ( store-property: (
link_height,
"#source-sidebar > details:first-of-type.dir-entry[open] > .files > a", "#source-sidebar > details:first-of-type.dir-entry[open] > .files > a",
"offsetHeight" {"offsetHeight": link_height},
) )
define-function: ( define-function: (
"check-sidebar-dir-entry", "check-sidebar-dir-entry",
@ -147,16 +146,10 @@ define-function: (
) )
} }
) )
store-property: ( store-property: ("#source-sidebar > .title", {
source_sidebar_title_height, "offsetHeight": source_sidebar_title_height,
"#source-sidebar > .title", "offsetTop": source_sidebar_title_y,
"offsetHeight" })
)
store-property: (
source_sidebar_title_y,
"#source-sidebar > .title",
"offsetTop"
)
call-function: ("check-sidebar-dir-entry", { call-function: ("check-sidebar-dir-entry", {
"x": 0, "x": 0,
// border + margin = 6 // border + margin = 6
@ -182,16 +175,10 @@ assert-property: ("#main-content", {"offsetTop": 76})
// 21 = 76 - 34 - 21 // 21 = 76 - 34 - 21
// Check the sidebar directory entries have a marker and spacing (tablet). // Check the sidebar directory entries have a marker and spacing (tablet).
store-property: ( store-property: ("#source-sidebar > .title", {
source_sidebar_title_height, "offsetHeight": source_sidebar_title_height,
"#source-sidebar > .title", "offsetTop": source_sidebar_title_y,
"offsetHeight" })
)
store-property: (
source_sidebar_title_y,
"#source-sidebar > .title",
"offsetTop"
)
call-function: ("check-sidebar-dir-entry", { call-function: ("check-sidebar-dir-entry", {
"x": 0, "x": 0,
"y": |source_sidebar_title_y| + |source_sidebar_title_height| + 6, "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"}) assert-css: ("nav.sub", {"flex-direction": "column"})
// Check the sidebar directory entries have a marker and spacing (phone). // Check the sidebar directory entries have a marker and spacing (phone).
store-property: ( store-property: ("#source-sidebar > .title", {
source_sidebar_title_height, "offsetHeight": source_sidebar_title_height,
"#source-sidebar > .title", "offsetTop": source_sidebar_title_y,
"offsetHeight" })
)
store-property: (
source_sidebar_title_y,
"#source-sidebar > .title",
"offsetTop"
)
call-function: ("check-sidebar-dir-entry", { call-function: ("check-sidebar-dir-entry", {
"x": 0, "x": 0,
"y": |source_sidebar_title_y| + |source_sidebar_title_height| + 6, "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. // 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"}) 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}) 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) assert-css: (".impl-items .code-header", {"font-size": "16px", "font-weight": 600}, ALL)
// Check that we can click on source link // Check that we can click on source link
store-document-property: (url, "URL") store-document-property: {"URL": url}
click: ".impl-items .srclink" click: ".impl-items .srclink"
assert-document-property-false: {"URL": |url|} 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). // 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" 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| }) 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) set-window-size: (600, 600)
go-to: "file://" + |DOC_PATH| + "/lib2/too_long/struct.SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName.html" go-to: "file://" + |DOC_PATH| + "/lib2/too_long/struct.SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName.html"
// It shouldn't have an overflow in the topbar either. // 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-property: (".mobile-topbar h2", {"clientWidth": |scrollWidth|})
assert-css: (".mobile-topbar h2", {"overflow-x": "hidden"}) assert-css: (".mobile-topbar h2", {"overflow-x": "hidden"})