diff options
Diffstat (limited to '')
-rw-r--r-- | tests/raw.rs | 4 | ||||
-rw-r--r-- | tests/utils/mod.rs | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/tests/raw.rs b/tests/raw.rs index ea9b3a6..0aca2ed 100644 --- a/tests/raw.rs +++ b/tests/raw.rs @@ -12,7 +12,7 @@ use select::predicate::Name; #[rstest] /// The ui displays the correct wget command to download the folder recursively -fn ui_displays_wget_element(server: TestServer) -> Result<(), Error> { +fn ui_displays_wget_element(#[with(&["-W"])] server: TestServer) -> Result<(), Error> { let client = Client::new(); let body = client.get(server.url()).send()?.error_for_status()?; @@ -59,7 +59,7 @@ fn ui_displays_wget_element(server: TestServer) -> Result<(), Error> { #[rstest] /// All hrefs in raw mode are links to directories or files & directories end with ?raw=true -fn raw_mode_links_to_directories_end_with_raw_true(server: TestServer) -> Result<(), Error> { +fn raw_mode_links_to_directories_end_with_raw_true(#[with(&["-W"])] server: TestServer) -> Result<(), Error> { fn verify_a_tags(parsed: Document) { // Ensure all links end with ?raw=true or are files for node in parsed.find(Name("a")) { diff --git a/tests/utils/mod.rs b/tests/utils/mod.rs new file mode 100644 index 0000000..b724945 --- /dev/null +++ b/tests/utils/mod.rs @@ -0,0 +1,12 @@ +use select::document::Document; +use select::node::Node; +use select::predicate::Name; +use select::predicate::Predicate; + +/// Return the href attribute content for the closest anchor found by `text`. +pub fn get_link_from_text(document: &Document, text: &str) -> Option<String> { + let a_elem = document + .find(Name("a").and(|x: &Node| x.children().any(|x| x.text() == text))) + .next()?; + Some(a_elem.attr("href")?.to_string()) +} |