use super::prelude::*;
#[derive(Debug)]
pub struct DebugRender;
impl Render for DebugRender {
type Output = String;
#[inline]
fn render(
&self,
tree: &SyntaxTree,
page_info: &PageInfo,
settings: &WikitextSettings,
) -> String {
debug!("Running debug logger on syntax tree");
format!("{settings:#?}\n{page_info:#?}\n{tree:#?}")
}
}
#[test]
fn debug_render() {
use crate::layout::Layout;
use crate::tree::BibliographyList;
let page_info = PageInfo::dummy();
let settings = WikitextSettings::from_mode(WikitextMode::Page, Layout::Wikidot);
let result = SyntaxTree::from_element_result(
vec![],
vec![],
(vec![], vec![]),
vec![],
(vec![], true),
BibliographyList::new(),
0,
);
let (tree, _) = result.into();
let output = DebugRender.render(&tree, &page_info, &settings);
assert!(!output.is_empty(), "DebugRender produced empty output");
}