Migrate to 0.16.0 browser-ui-test version
This commit is contained in:
parent
616fb42098
commit
0630283e9d
@ -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);
|
||||
|
@ -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|},
|
||||
|
@ -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| })
|
||||
|
@ -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.
|
||||
|
@ -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"
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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"})
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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|,
|
||||
})
|
||||
|
@ -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})
|
||||
|
@ -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|}
|
||||
|
@ -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| })
|
||||
|
@ -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"})
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user