Skip to content

Commit

Permalink
Update GUI tests
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Jun 28, 2023
1 parent 0c10eb0 commit a716c79
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 11 deletions.
16 changes: 8 additions & 8 deletions tests/rustdoc-gui/search-result-color.goml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ assert-css: (
{"color": "#c5c5c5"},
)
assert-css: (
"//*[@class='result-name']/*[text()='test_docs::']",
"//*[@class='result-name']//*[text()='test_docs::']",
{"color": "#0096cf"},
)

Expand Down Expand Up @@ -138,19 +138,19 @@ call-function: (
move-cursor-to: ".search-input"
focus: ".search-input" // To ensure the `<a>` container isnt focus or hover.
assert-css: (
"//*[@class='result-name']/*[text()='test_docs::']/ancestor::a",
"//*[@class='result-name']//*[text()='test_docs::']/ancestor::a",
{"color": "#0096cf", "background-color": "transparent"},
ALL,
)

// Checking color and background on hover.
move-cursor-to: "//*[@class='desc'][text()='Just a normal struct.']"
assert-css: (
"//*[@class='result-name']/*[text()='test_docs::']",
"//*[@class='result-name']//*[text()='test_docs::']",
{"color": "#fff"},
)
assert-css: (
"//*[@class='result-name']/*[text()='test_docs::']/ancestor::a",
"//*[@class='result-name']//*[text()='test_docs::']/ancestor::a",
{"color": "#fff", "background-color": "rgb(60, 60, 60)"},
)

Expand All @@ -173,7 +173,7 @@ assert-css: (
{"color": "#ddd"},
)
assert-css: (
"//*[@class='result-name']/*[text()='test_docs::']",
"//*[@class='result-name']//*[text()='test_docs::']",
{"color": "#ddd"},
)

Expand Down Expand Up @@ -250,7 +250,7 @@ call-function: (
move-cursor-to: ".search-input"
focus: ".search-input" // To ensure the `<a>` container isnt focus or hover.
assert-css: (
"//*[@class='result-name']/*[text()='test_docs::']/ancestor::a",
"//*[@class='result-name']//*[text()='test_docs::']/ancestor::a",
{"color": "#ddd", "background-color": "transparent"},
)

Expand All @@ -270,7 +270,7 @@ assert-css: (
{"color": "#000"},
)
assert-css: (
"//*[@class='result-name']/*[text()='test_docs::']",
"//*[@class='result-name']//*[text()='test_docs::']",
{"color": "#000"},
)

Expand Down Expand Up @@ -347,7 +347,7 @@ call-function: (
move-cursor-to: ".search-input"
focus: ".search-input" // To ensure the `<a>` container isnt focus or hover.
assert-css: (
"//*[@class='result-name']/*[text()='test_docs::']/ancestor::a",
"//*[@class='result-name']//*[text()='test_docs::']/ancestor::a",
{"color": "#000", "background-color": "transparent"},
)

Expand Down
32 changes: 29 additions & 3 deletions tests/rustdoc-gui/search-result-display.goml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// ignore-tidy-linelength
// Checks that the search results have the expected width.
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
set-window-size: (900, 1000)
Expand All @@ -7,15 +8,40 @@ press-key: 'Enter'
wait-for: "#crate-search"
// The width is returned by "getComputedStyle" which returns the exact number instead of the
// CSS rule which is "50%"...
assert-size: (".search-results div.desc", {"width": 310})
assert-size: (".search-results div.desc", {"width": 248})
store-size: (".search-results .result-name .typename", {"width": width})
set-window-size: (600, 100)
// As counter-intuitive as it may seem, in this width, the width is "100%", which is why
// when computed it's larger.
assert-size: (".search-results div.desc", {"width": 566})

// The result set is all on one line.
assert-css: (".search-results .result-name > span:not(.typename)", {"display": "inline"})
assert-css: (".search-results .result-name > span.typename", {"display": "inline-block"})
compare-elements-position-near: (
".search-results .result-name .typename",
".search-results .result-name .path",
{"y": 2},
)
compare-elements-position-near-false: (
".search-results .result-name .typename",
".search-results .result-name .path",
{"x": 5},
)
// The width of the "typename" isn't fixed anymore in this display mode.
store-size: (".search-results .result-name .typename", {"width": new_width})
assert: |new_width| < |width| - 10

// Check that if the search is too long on mobile, it'll go under the "typename".
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName"
wait-for: "#crate-search"
compare-elements-position-near: (
".search-results .result-name .typename",
".search-results .result-name .path",
{"y": 2, "x": 0},
)
store-size: (".search-results .result-name", {"width": width, "height": height})
store-size: (".search-results .result-name .path", {"width": sub_width, "height": sub_height})
assert: |width| < |sub_width| + 8 && |width| > |sub_width| - 8
assert: |height| < |sub_height| + 8 && |height| > |sub_height| - 8

// Check that the crate filter `<select>` is correctly handled when it goes to next line.
// To do so we need to update the length of one of its `<option>`.
Expand Down

0 comments on commit a716c79

Please sign in to comment.