From 440a0affe1d1e15b3aee7307dcc9d9f06573afa7 Mon Sep 17 00:00:00 2001 From: crowlkats Date: Thu, 7 Dec 2023 11:25:10 +0100 Subject: [PATCH] add test --- examples/ddoc/main.rs | 1 + tests/html_test.rs | 53 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/examples/ddoc/main.rs b/examples/ddoc/main.rs index 680a303b..fd162d71 100644 --- a/examples/ddoc/main.rs +++ b/examples/ddoc/main.rs @@ -185,6 +185,7 @@ fn generate_docs_directory( global_symbols: Default::default(), global_symbol_href_resolver: std::rc::Rc::new(|_, _| String::new()), url_resolver: std::rc::Rc::new(deno_doc::html::default_url_resolver), + rewrite_map: None, }; let html = deno_doc::html::generate(options.clone(), doc_nodes_by_url)?; diff --git a/tests/html_test.rs b/tests/html_test.rs index accc624b..4fc77de3 100644 --- a/tests/html_test.rs +++ b/tests/html_test.rs @@ -100,6 +100,7 @@ async fn html_doc_files() { global_symbols: Default::default(), global_symbol_href_resolver: Rc::new(|_, _| String::new()), url_resolver: Rc::new(default_url_resolver), + rewrite_map: None, }, &get_files("single").await, ) @@ -124,3 +125,55 @@ async fn html_doc_files() { ] ); } + +#[tokio::test] +async fn html_doc_files_rewrite() { + let multiple_dir = std::env::current_dir() + .unwrap() + .join("tests") + .join("testdata") + .join("multiple"); + let mut rewrite_map = IndexMap::new(); + rewrite_map.insert( + ModuleSpecifier::from_file_path(multiple_dir.join("a.ts")).unwrap(), + "bar".to_string(), + ); + rewrite_map.insert( + ModuleSpecifier::from_file_path(multiple_dir.join("b.ts")).unwrap(), + "foo".to_string(), + ); + + let files = generate( + GenerateOptions { + package_name: None, + main_entrypoint: None, + global_symbols: Default::default(), + global_symbol_href_resolver: Rc::new(|_, _| String::new()), + url_resolver: Rc::new(default_url_resolver), + rewrite_map: Some(rewrite_map), + }, + &get_files("multiple").await, + ) + .unwrap(); + + let mut file_names = files.keys().collect::>(); + file_names.sort(); + + assert_eq!( + file_names, + [ + "./all_symbols.html", + "./index.html", + "bar/~/Bar.html", + "bar/~/Foo.html", + "bar/~/index.html", + "foo/~/index.html", + "foo/~/x.html", + "fuse.js", + "page.css", + "search.js", + "search_index.js", + "styles.css" + ] + ); +}