diff --git a/crates/mdbook-driver/src/mdbook.rs b/crates/mdbook-driver/src/mdbook.rs index e5dac9027f..03ebcb8c30 100644 --- a/crates/mdbook-driver/src/mdbook.rs +++ b/crates/mdbook-driver/src/mdbook.rs @@ -263,11 +263,6 @@ impl MDBook { } } - // Index Preprocessor is disabled so that chapter paths - // continue to point to the actual markdown files. - self.preprocessors = determine_preprocessors(&self.config, &self.root)?; - self.preprocessors - .shift_remove_entry(IndexPreprocessor::NAME); let (book, _) = self.preprocess_book(&TestRenderer)?; let color_output = std::io::stderr().is_terminal(); diff --git a/tests/testsuite/preprocessor.rs b/tests/testsuite/preprocessor.rs index cd8b9efad1..33c320785e 100644 --- a/tests/testsuite/preprocessor.rs +++ b/tests/testsuite/preprocessor.rs @@ -44,6 +44,20 @@ fn runs_preprocessors() { assert_eq!(inner.rendered_with, ["html"]); } +// Run tests with a custom preprocessor. +#[test] +fn test_with_custom_preprocessor() { + let test = BookTest::init(|_| {}); + let spy: Arc> = Default::default(); + let mut book = test.load_book(); + book.with_preprocessor(Spy(Arc::clone(&spy))); + book.test(vec![]).unwrap(); + + let inner = spy.lock().unwrap(); + assert_eq!(inner.run_count, 1); + assert_eq!(inner.rendered_with, ["test"]); +} + // No-op preprocessor works. #[test] fn nop_preprocessor() {