Skip to content

Commit

Permalink
Add rustdoc gui tests
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Feb 21, 2021
1 parent fa13184 commit 8005092
Show file tree
Hide file tree
Showing 7 changed files with 100 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/test/rustdoc-gui/basic-code.goml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
goto: file://|DOC_PATH|/index.html
click: ".srclink"
assert: (".line-numbers", 1)
4 changes: 4 additions & 0 deletions src/test/rustdoc-gui/basic.goml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
goto: file://|DOC_PATH|/index.html
assert: ("#functions")
goto: ./struct.Foo.html
assert: ("div.type-decl")
6 changes: 6 additions & 0 deletions src/test/rustdoc-gui/code-sidebar-toggle.goml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
goto: file://|DOC_PATH|/index.html
click: ".srclink"
click: "#sidebar-toggle"
wait-for: 500
fail: true
assert: ("#source-sidebar", { "left": "-300px" })
67 changes: 67 additions & 0 deletions src/test/rustdoc-gui/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
//! The point of this crate is to be able to have enough different "kinds" of
//! documentation generated so we can test each different features.

#![crate_name = "test_docs"]

use std::fmt;

/// Basic function with some code examples:
///
/// ```
/// println!("nothing fancy");
/// ```
///
/// A failing to compile one:
///
/// ```compile_fail
/// println!("where did my argument {} go? :'(");
/// ```
///
/// An ignored one:
///
/// ```ignore (it's a test)
/// Let's say I'm just some text will ya?
/// ```
pub fn foo() {}

/// Just a normal struct.
pub struct Foo;

/// Just a normal enum.
pub enum WhoLetTheDogOut {
/// Woof!
Woof,
/// Meoooooooow...
Meow,
}

/// Who doesn't love to wrap a `format!` call?
pub fn some_more_function<T: fmt::Debug>(t: &T) -> String {
format!("{:?}", t)
}

/// Woohoo! A trait!
pub trait AnotherOne {
/// Some func 1.
fn func1();

/// Some func 2.
fn func2();

/// Some func 3.
fn func3();
}

/// Check for "i" signs in lists!
///
/// 1. elem 1
/// 2.test 1
/// ```compile_fail
/// fn foo() {}
/// ```
/// 3. elem 3
/// 4. ```ignore (it's a test)
/// fn foo() {}
/// ```
/// 5. elem 5
pub fn check_list_code_block() {}
3 changes: 3 additions & 0 deletions src/test/rustdoc-gui/list_code_block.goml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
goto: file://|DOC_PATH|/index.html
goto: ./fn.check_list_code_block.html
assert: ("pre.rust.fn")
10 changes: 10 additions & 0 deletions src/test/rustdoc-gui/theme-change.goml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
goto: file://|DOC_PATH|/index.html
click: "#theme-picker"
click: "#theme-choices > button:first-child"
wait-for: 500
// should be the ayu theme so let's check the color
assert: ("body", { "background-color": "rgb(15, 20, 25)" })
click: "#theme-choices > button:last-child"
wait-for: 500
// should be the light theme so let's check the color
assert: ("body", { "background-color": "rgb(255, 255, 255)" })
7 changes: 7 additions & 0 deletions src/test/rustdoc-gui/toggle-docs.goml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
goto: file://|DOC_PATH|/index.html
click: "#toggle-all-docs"
wait-for: 5000
assert: ("#main > div.docblock.hidden-by-usual-hider")
click: "#toggle-all-docs"
wait-for: 5000
assert: ("#main > div.docblock.hidden-by-usual-hider", 0)

0 comments on commit 8005092

Please sign in to comment.