Skip to content

Commit

Permalink
Add GUI test to ensure that implementations on foreign types are in t…
Browse files Browse the repository at this point in the history
…he expected order
  • Loading branch information
GuillaumeGomez committed Nov 2, 2023
1 parent aa9d1d8 commit 2e4a36b
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 1 deletion.
6 changes: 6 additions & 0 deletions tests/rustdoc-gui/impl_on_foreign_order.goml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// This test ensures that the "implementations on foreign types" of a trait are correctly sorted.
go-to: "file://" + |DOC_PATH| + "/test_docs/foreign_impl_order/trait.Foo.html"
assert-text: ("details:nth-of-type(1) h3", "impl Foo<1> for [u8; 1]")
assert-text: ("details:nth-of-type(2) h3", "impl Foo<2> for [u8; 2]")
assert-text: ("details:nth-of-type(3) h3", "impl Foo<3> for [u8; 3]")
assert-text: ("details:nth-of-type(4) h3", "impl Foo<4> for [u8; 4]")
2 changes: 1 addition & 1 deletion tests/rustdoc-gui/search-tab.goml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ call-function: ("check-colors", {
set-window-size: (851, 600)

// Check the size and count in tabs
assert-text: ("#search-tabs > button:nth-child(1) > .count", " (24) ")
assert-text: ("#search-tabs > button:nth-child(1) > .count", " (25) ")
assert-text: ("#search-tabs > button:nth-child(2) > .count", " (5)  ")
assert-text: ("#search-tabs > button:nth-child(3) > .count", " (0)  ")
store-property: ("#search-tabs > button:nth-child(1)", {"offsetWidth": buttonWidth})
Expand Down
19 changes: 19 additions & 0 deletions tests/rustdoc-gui/src/test_docs/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -574,3 +574,22 @@ impl ZyxwvutTrait for ZyxwvutMethodDisambiguation {
x
}
}

pub mod foreign_impl_order {
pub trait Foo<const W: usize> {
fn f(&mut self, with: [u8; W]);
}

impl Foo<4> for [u8; 4] {
fn f(&mut self, fg: [u8; 4]) {}
}
impl Foo<2> for [u8; 2] {
fn f(&mut self, fg: [u8; 2]) {}
}
impl Foo<1> for [u8; 1] {
fn f(&mut self, fg: [u8; 1]) {}
}
impl Foo<3> for [u8; 3] {
fn f(&mut self, fg: [u8; 3]) {}
}
}

0 comments on commit 2e4a36b

Please sign in to comment.