From efc5ee44491ced2ac77b07af80e9af75d8f84352 Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Tue, 22 Apr 2025 11:19:21 -0700 Subject: [PATCH] Migrate check_first_toc_level to BookTest --- tests/rendered_output.rs | 23 ----------------------- tests/testsuite/toc.rs | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/tests/rendered_output.rs b/tests/rendered_output.rs index c7618335..a2a1ebfb 100644 --- a/tests/rendered_output.rs +++ b/tests/rendered_output.rs @@ -169,29 +169,6 @@ fn toc_fallback_html() -> Result { Ok(Document::from(html.as_str())) } -#[test] -fn check_first_toc_level() { - let doc = toc_js_html().unwrap(); - let mut should_be = Vec::from(TOC_TOP_LEVEL); - - should_be.extend(TOC_SECOND_LEVEL); - should_be.sort_unstable(); - - let pred = descendants!( - Class("chapter"), - Name("li"), - Name("a").and(Class("toggle").not()) - ); - - let mut children: Vec<_> = doc - .find(pred) - .map(|elem| elem.text().trim().to_string()) - .collect(); - children.sort(); - - assert_eq!(children, should_be); -} - #[test] fn check_spacers() { let doc = toc_js_html().unwrap(); diff --git a/tests/testsuite/toc.rs b/tests/testsuite/toc.rs index 2787b995..38d4c4f9 100644 --- a/tests/testsuite/toc.rs +++ b/tests/testsuite/toc.rs @@ -4,6 +4,14 @@ use crate::prelude::*; use select::document::Document; use select::predicate::{Class, Name, Predicate}; +const TOC_TOP_LEVEL: &[&str] = &[ + "1. With Readme", + "3. Deep Nest 1", + "Prefix 1", + "Prefix 2", + "Suffix 1", + "Suffix 2", +]; const TOC_SECOND_LEVEL: &[&str] = &[ "1.1. Nested Index", "1.2. Nested two", @@ -53,3 +61,26 @@ fn check_second_toc_level() { assert_eq!(children_of_children, should_be); } + +#[test] +fn check_first_toc_level() { + let doc = toc_js_html(); + let mut should_be = Vec::from(TOC_TOP_LEVEL); + + should_be.extend(TOC_SECOND_LEVEL); + should_be.sort_unstable(); + + let pred = descendants!( + Class("chapter"), + Name("li"), + Name("a").and(Class("toggle").not()) + ); + + let mut children: Vec<_> = doc + .find(pred) + .map(|elem| elem.text().trim().to_string()) + .collect(); + children.sort(); + + assert_eq!(children, should_be); +}