mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-20 10:55:14 +00:00
Rollup merge of #111459 - GuillaumeGomez:update-browser-ui-test, r=notriddle
Update browser-ui-test version to 0.16.0 This new version brings one major improvement: it allows to use the original color format in checks (I plan to slowly continue converting colors back to their "original" format, ie the one used in CSS). It also provides some improvements in some commands API. r? `````@notriddle`````
This commit is contained in:
commit
eead6f4703
@ -1 +1 @@
|
||||
0.15.0
|
||||
0.16.0
|
@ -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| })
|
||||
|
@ -9,7 +9,7 @@ reload:
|
||||
assert-text: (".top-doc .docblock > h3", "Hello")
|
||||
assert-css: (
|
||||
".top-doc .docblock > h3",
|
||||
{"border-bottom": "1px solid rgb(210, 210, 210)"},
|
||||
{"border-bottom": "1px solid #d2d2d2"},
|
||||
)
|
||||
// We now check that the `<summary>` doesn't have a bottom border and has the correct display.
|
||||
assert-css: (
|
||||
|
@ -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"
|
||||
|
@ -121,28 +121,28 @@ define-function: (
|
||||
|
||||
call-function: ("check-colors", {
|
||||
"theme": "light",
|
||||
"color": "rgb(0, 0, 0)",
|
||||
"color_hover": "rgb(0, 0, 0)",
|
||||
"background": "rgb(255, 255, 255)",
|
||||
"background_hover": "rgb(224, 224, 224)",
|
||||
"color": "black",
|
||||
"color_hover": "#000",
|
||||
"background": "#fff",
|
||||
"background_hover": "#e0e0e0",
|
||||
"background_toggle": "rgba(0, 0, 0, 0)",
|
||||
"background_toggle_hover": "rgb(224, 224, 224)",
|
||||
"background_toggle_hover": "#e0e0e0",
|
||||
})
|
||||
call-function: ("check-colors", {
|
||||
"theme": "dark",
|
||||
"color": "rgb(221, 221, 221)",
|
||||
"color_hover": "rgb(221, 221, 221)",
|
||||
"background": "rgb(51, 51, 51)",
|
||||
"background_hover": "rgb(68, 68, 68)",
|
||||
"color": "#ddd",
|
||||
"color_hover": "#ddd",
|
||||
"background": "#333",
|
||||
"background_hover": "#444",
|
||||
"background_toggle": "rgba(0, 0, 0, 0)",
|
||||
"background_toggle_hover": "rgb(103, 103, 103)",
|
||||
"background_toggle_hover": "#676767",
|
||||
})
|
||||
call-function: ("check-colors", {
|
||||
"theme": "ayu",
|
||||
"color": "rgb(197, 197, 197)",
|
||||
"color_hover": "rgb(255, 180, 76)",
|
||||
"color": "#c5c5c5",
|
||||
"color_hover": "#ffb44c",
|
||||
"background": "rgb(20, 25, 31)",
|
||||
"background_hover": "rgb(20, 25, 31)",
|
||||
"background_hover": "#14191f",
|
||||
"background_toggle": "rgba(0, 0, 0, 0)",
|
||||
"background_toggle_hover": "rgba(70, 70, 70, 0.33)",
|
||||
})
|
||||
|
@ -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