Migrate to 0.16.0 browser-ui-test version
This commit is contained in:
parent
616fb42098
commit
0630283e9d
14 changed files with 55 additions and 66 deletions
|
@ -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);
|
||||||
|
|
|
@ -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|},
|
||||||
|
|
|
@ -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| })
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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"})
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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|,
|
||||||
})
|
})
|
||||||
|
|
|
@ -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})
|
||||||
|
|
|
@ -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|}
|
||||||
|
|
|
@ -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| })
|
||||||
|
|
|
@ -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"})
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue