From 1b3dceae42b302e4e519601c77104ac8414b1ee5 Mon Sep 17 00:00:00 2001 From: Jan-Erik Rediger Date: Wed, 23 Jun 2021 12:30:55 +0200 Subject: [PATCH] Convert all tests into input/output files --- tests/adds_toc.in.md | 16 + tests/adds_toc.out.md | 20 + tests/github_marker.in.md | 17 + tests/github_marker.out.md | 21 + tests/gitlab_marker.in.md | 16 + tests/gitlab_marker.out.md | 21 + tests/handles_inline_code.in.md | 17 + tests/handles_inline_code.out.md | 19 + tests/higher_max_level.in.md | 16 + tests/higher_max_level.out.md | 21 + tests/it.rs | 634 +++--------------- tests/lower_max_level.in.md | 16 + tests/lower_max_level.out.md | 20 + tests/multi_header.in.md | 17 + tests/multi_header.out.md | 23 + tests/multi_header_linear.in.md | 11 + tests/multi_header_linear.out.md | 20 + tests/nonhtml_marker_no_use.in.md | 16 + tests/nonhtml_marker_no_use.out.md | 16 + tests/similar_heading_different_casing.in.md | 8 + tests/similar_heading_different_casing.out.md | 9 + tests/tables_untouched.in.md | 6 + tests/tables_untouched.out.md | 5 + tests/unique_slugs.in.md | 14 + tests/unique_slugs.out.md | 17 + tests/with_inline_code.in.md | 11 + tests/with_inline_code.out.md | 14 + 27 files changed, 516 insertions(+), 525 deletions(-) create mode 100644 tests/adds_toc.in.md create mode 100644 tests/adds_toc.out.md create mode 100644 tests/github_marker.in.md create mode 100644 tests/github_marker.out.md create mode 100644 tests/gitlab_marker.in.md create mode 100644 tests/gitlab_marker.out.md create mode 100644 tests/handles_inline_code.in.md create mode 100644 tests/handles_inline_code.out.md create mode 100644 tests/higher_max_level.in.md create mode 100644 tests/higher_max_level.out.md create mode 100644 tests/lower_max_level.in.md create mode 100644 tests/lower_max_level.out.md create mode 100644 tests/multi_header.in.md create mode 100644 tests/multi_header.out.md create mode 100644 tests/multi_header_linear.in.md create mode 100644 tests/multi_header_linear.out.md create mode 100644 tests/nonhtml_marker_no_use.in.md create mode 100644 tests/nonhtml_marker_no_use.out.md create mode 100644 tests/similar_heading_different_casing.in.md create mode 100644 tests/similar_heading_different_casing.out.md create mode 100644 tests/tables_untouched.in.md create mode 100644 tests/tables_untouched.out.md create mode 100644 tests/unique_slugs.in.md create mode 100644 tests/unique_slugs.out.md create mode 100644 tests/with_inline_code.in.md create mode 100644 tests/with_inline_code.out.md diff --git a/tests/adds_toc.in.md b/tests/adds_toc.in.md new file mode 100644 index 0000000..a468123 --- /dev/null +++ b/tests/adds_toc.in.md @@ -0,0 +1,16 @@ +# Chapter + + + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/adds_toc.out.md b/tests/adds_toc.out.md new file mode 100644 index 0000000..d23da60 --- /dev/null +++ b/tests/adds_toc.out.md @@ -0,0 +1,20 @@ +# Chapter + +* [Header 1](#header-1) + * [Header 1.1](#header-11) +* [Header 2](#header-2) + * [Header 2.1](#header-21) + * [Header 2.2](#header-22) + * [Header 2.2.1](#header-221) + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 diff --git a/tests/github_marker.in.md b/tests/github_marker.in.md new file mode 100644 index 0000000..59eca31 --- /dev/null +++ b/tests/github_marker.in.md @@ -0,0 +1,17 @@ +# Chapter + +* auto-gen TOC: +{:toc} + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/github_marker.out.md b/tests/github_marker.out.md new file mode 100644 index 0000000..a0f5312 --- /dev/null +++ b/tests/github_marker.out.md @@ -0,0 +1,21 @@ +# Chapter + +* [Header 1](#header-1) + * [Header 1.1](#header-11) +* [Header 2](#header-2) + * [Header 2.1](#header-21) + * [Header 2.2](#header-22) + * [Header 2.2.1](#header-221) + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/gitlab_marker.in.md b/tests/gitlab_marker.in.md new file mode 100644 index 0000000..04563fb --- /dev/null +++ b/tests/gitlab_marker.in.md @@ -0,0 +1,16 @@ +# Chapter + +[[_TOC_]] + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/gitlab_marker.out.md b/tests/gitlab_marker.out.md new file mode 100644 index 0000000..a0f5312 --- /dev/null +++ b/tests/gitlab_marker.out.md @@ -0,0 +1,21 @@ +# Chapter + +* [Header 1](#header-1) + * [Header 1.1](#header-11) +* [Header 2](#header-2) + * [Header 2.1](#header-21) + * [Header 2.2](#header-22) + * [Header 2.2.1](#header-221) + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/handles_inline_code.in.md b/tests/handles_inline_code.in.md new file mode 100644 index 0000000..bf49fa2 --- /dev/null +++ b/tests/handles_inline_code.in.md @@ -0,0 +1,17 @@ +# Chapter + + + +# Header 1 + +## Header 1.1 + +### Header 1.1.1 + +#### Header 1.1.1.1 + +##### Header 1.1.1.1.1 + +# Another header `with inline` code + + diff --git a/tests/handles_inline_code.out.md b/tests/handles_inline_code.out.md new file mode 100644 index 0000000..ec30432 --- /dev/null +++ b/tests/handles_inline_code.out.md @@ -0,0 +1,19 @@ +# Chapter + +* [Header 1](#header-1) + * [Header 1.1](#header-11) + * [Header 1.1.1](#header-111) + * [Header 1.1.1.1](#header-1111) +* [Another header `with inline` code](#another-header-with-inline-code) + +# Header 1 + +## Header 1.1 + +### Header 1.1.1 + +#### Header 1.1.1.1 + +##### Header 1.1.1.1.1 + +# Another header `with inline` code diff --git a/tests/higher_max_level.in.md b/tests/higher_max_level.in.md new file mode 100644 index 0000000..a468123 --- /dev/null +++ b/tests/higher_max_level.in.md @@ -0,0 +1,16 @@ +# Chapter + + + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/higher_max_level.out.md b/tests/higher_max_level.out.md new file mode 100644 index 0000000..a0f5312 --- /dev/null +++ b/tests/higher_max_level.out.md @@ -0,0 +1,21 @@ +# Chapter + +* [Header 1](#header-1) + * [Header 1.1](#header-11) +* [Header 2](#header-2) + * [Header 2.1](#header-21) + * [Header 2.2](#header-22) + * [Header 2.2.1](#header-221) + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/it.rs b/tests/it.rs index 7b1e0c3..6f257e4 100644 --- a/tests/it.rs +++ b/tests/it.rs @@ -1,7 +1,6 @@ -use mdbook_toc::{Toc, Config}; -use pretty_assertions::assert_eq; use mdbook::book::Chapter; -use mdbook::errors::Result; +use mdbook_toc::{Config, Toc}; +use pretty_assertions::assert_eq; fn default() -> T { Default::default() @@ -20,544 +19,129 @@ fn with_max_level(level: u32) -> Config { } trait FromContent { - fn from_content(content: &str) -> Self; + fn from_content(content: String) -> Self; } impl FromContent for Chapter { - fn from_content(content: &str) -> Self { + fn from_content(content: String) -> Self { Self { name: "chapter".into(), - content: content.into(), + content, number: None, sub_items: vec![], path: None, source_path: None, - parent_names: vec![] + parent_names: vec![], } } } -fn add_toc(content: &str, config: &Config) -> Result { - let chapter = Chapter::from_content(content); - Toc::add_toc(&chapter, config) +/// Assert the Table of Content generation for an input file against the expected output file. +/// +/// Reads `tests/$name.in.md` and checks the generated ToC code against `tests/$name.out.md`. +macro_rules! assert_toc { + ($name:expr) => { + assert_toc!($name, default()) + }; + ($name:expr, $config:expr) => { + let _ = env_logger::builder().is_test(true).try_init(); + + let config = $config; + let content = ::std::fs::read_to_string(format!("tests/{}.in.md", $name)).expect(concat!( + "Can't read ", + $name, + ".in.md" + )); + let expected = ::std::fs::read_to_string(format!("tests/{}.out.md", $name)) + .expect(concat!("Can't read ", $name, ".out.md")); + + let chapter = Chapter::from_content(content); + let result = Toc::add_toc(&chapter, &config); + match result { + Ok(result) => assert_eq!(expected.trim_end(), result), + Err(e) => panic!("{} failed. Error: {}", $name, e), + } + }; } #[test] fn adds_toc() { - let content = r#"# Chapter - - - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1 - -"#; - - let expected = r#"# Chapter - -* [Header 1](#header-1) - * [Header 1.1](#header-11) -* [Header 2](#header-2) - * [Header 2.1](#header-21) - * [Header 2.2](#header-22) - * [Header 2.2.1](#header-221) - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1"#; - - assert_eq!(expected, add_toc(content, &default()).unwrap()); + assert_toc!("adds_toc", default()); } - - #[test] - fn adds_toc_with_inline_code() { - let content = r#"# Chapter - - - -# Header 1 - -## `Header 1.1` - -# Header 2 - -## Header 2.1 -"#; - - let expected = r#"# Chapter - -* [Header 1](#header-1) - * [`Header 1.1`](#header-11) -* [Header 2](#header-2) - * [Header 2.1](#header-21) - -# Header 1 - -## `Header 1.1` - -# Header 2 - -## Header 2.1"#; - - assert_eq!(expected, add_toc(content, &default()).unwrap()); - } - - #[test] - fn leaves_tables_untouched() { - // Regression test. - // Previously we forgot to enable the same markdwon extensions as mdbook itself. - - let content = r#"# Heading - -| Head 1 | Head 2 | -|--------|--------| -| Row 1 | Row 2 | -"#; - - // Markdown roundtripping removes some insignificant whitespace - let expected = r#"# Heading - -|Head 1|Head 2| -|------|------| -|Row 1|Row 2|"#; - - assert_eq!(expected, add_toc(content, &default()).unwrap()); - } - - #[test] - fn handles_inline_code() { - let _ = env_logger::builder().is_test(true).try_init(); - - // Regression test. - // Inline code in a header was broken up into multiple items. - // Also test for deeply nested headers. - - let content = r#"# Chapter - - - -# Header 1 - -## Header 1.1 - -### Header 1.1.1 - -#### Header 1.1.1.1 - -##### Header 1.1.1.1.1 - -# Another header `with inline` code - -"#; - - let expected = r#"# Chapter - -* [Header 1](#header-1) - * [Header 1.1](#header-11) - * [Header 1.1.1](#header-111) - * [Header 1.1.1.1](#header-1111) -* [Another header `with inline` code](#another-header-with-inline-code) - -# Header 1 - -## Header 1.1 - -### Header 1.1.1 - -#### Header 1.1.1.1 - -##### Header 1.1.1.1.1 - -# Another header `with inline` code"#; - - assert_eq!(expected, add_toc(content, &default()).unwrap()); - } - - #[test] - fn multi_header_regression() { - let content = r#"# Main Summary - - - -# Introduction - -### Contents - -### Background and Caveats - -#### Test - -### Accessing the Data - -# Adding New Fields - -## User Preferences"#; - - let expected = r#"# Main Summary - -* [Introduction](#introduction) - * [Contents](#contents) - * [Background and Caveats](#background-and-caveats) - * [Test](#test) - * [Accessing the Data](#accessing-the-data) -* [Adding New Fields](#adding-new-fields) - * [User Preferences](#user-preferences) - -# Introduction - -### Contents - -### Background and Caveats - -#### Test - -### Accessing the Data - -# Adding New Fields - -## User Preferences"#; - - assert_eq!(expected, add_toc(content, &default()).unwrap()); - } - - #[test] - fn multi_header_linear_regression_3() { - let content = r#"# Heading - - - -## Level 1.1 -### Level 1.1.1 -### Level 1.1.2 -## Level 1.2 -### Level 1.2.1 - -text"#; - - let expected = r#"# Heading - -* [Level 1.1](#level-11) - * [Level 1.1.1](#level-111) - * [Level 1.1.2](#level-112) -* [Level 1.2](#level-12) - * [Level 1.2.1](#level-121) - -## Level 1.1 - -### Level 1.1.1 - -### Level 1.1.2 - -## Level 1.2 - -### Level 1.2.1 - -text"#; - - assert_eq!(expected, add_toc(content, &default()).unwrap()); - } - - #[test] - fn add_toc_with_gitlab_marker() { - let marker = "[[_TOC_]]".to_owned(); - let content = r#"# Chapter - -[[_TOC_]] - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1 - -"#; - - let expected = r#"# Chapter - -* [Header 1](#header-1) - * [Header 1.1](#header-11) -* [Header 2](#header-2) - * [Header 2.1](#header-21) - * [Header 2.2](#header-22) - * [Header 2.2.1](#header-221) - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1"#; - - assert_eq!(expected, add_toc(content, &with_marker(marker)).unwrap()); - } - - #[test] - fn unique_slugs() { - let content = r#"# Chapter - - - -## Duplicate - -### Duplicate - -#### Duplicate - -##### Duplicate - -## Duplicate"#; - - let expected = r#"# Chapter - -* [Duplicate](#duplicate) - * [Duplicate](#duplicate-1) - * [Duplicate](#duplicate-2) -* [Duplicate](#duplicate-4) - -## Duplicate - -### Duplicate - -#### Duplicate - -##### Duplicate - -## Duplicate"#; - - assert_eq!(expected, add_toc(content, &default()).unwrap()); - } - - #[test] - fn add_toc_with_github_marker() { - let marker = "* auto-gen TOC:\n{:toc}".to_owned(); - let content = r#"# Chapter - -* auto-gen TOC: -{:toc} - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1 - -"#; - - let expected = r#"# Chapter - -* [Header 1](#header-1) - * [Header 1.1](#header-11) -* [Header 2](#header-2) - * [Header 2.1](#header-21) - * [Header 2.2](#header-22) - * [Header 2.2.1](#header-221) - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1"#; - - assert_eq!(expected, add_toc(content, &with_marker(marker)).unwrap()); - } - - #[test] - fn lower_max_level() { - let content = r#"# Chapter - - - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1 - -"#; - - let expected = r#"# Chapter - -* [Header 1](#header-1) - * [Header 1.1](#header-11) -* [Header 2](#header-2) - * [Header 2.1](#header-21) - * [Header 2.2](#header-22) - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1"#; - - assert_eq!(expected, add_toc(content, &with_max_level(2)).unwrap()); - } - - #[test] - fn higher_max_level() { - let content = r#"# Chapter - - - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1 - -"#; - - let expected = r#"# Chapter - -* [Header 1](#header-1) - * [Header 1.1](#header-11) -* [Header 2](#header-2) - * [Header 2.1](#header-21) - * [Header 2.2](#header-22) - * [Header 2.2.1](#header-221) - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1"#; - - assert_eq!(expected, add_toc(content, &with_max_level(7)).unwrap()); - } - - // Regression test for [#13](https://github.com/badboy/mdbook-toc/issues/13). - // Choosing a non-HTML TOC marker breaks sites that don't use it at all, - // removed the header and first paragraph. - #[test] - fn nonhtml_marker_no_toc_in_page() { - let _ = env_logger::builder().is_test(true).try_init(); - - let marker = "[[_TOC_]]".to_owned(); - let content = r#"# Chapter - -First paragraph - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1 - -"#; - - let expected = r#"# Chapter - -First paragraph - -# Header 1 - -## Header 1.1 - -# Header 2 - -## Header 2.1 - -## Header 2.2 - -### Header 2.2.1"#; - - assert_eq!(expected, add_toc(content, &with_marker(marker)).unwrap()); - } - - #[test] - fn similar_heading_different_casing() { - // Regression test #15 - // Previously we didn't use the normalized header ("slug") to decide whether to use - // different link anchors. - // - let content = r#"# Chapter - - - -# Tag - -## tag - -"#; - - let expected = r#"# Chapter - -* [Tag](#tag) - * [tag](#tag-1) - -# Tag - -## tag"#; - - assert_eq!(expected, add_toc(content, &default()).unwrap()); - } +#[test] +fn adds_toc_with_inline_code() { + assert_toc!("with_inline_code", default()); +} + +#[test] +fn leaves_tables_untouched() { + // Regression test. + // Previously we forgot to enable the same markdwon extensions as mdbook itself. + // Markdown roundtripping removes some insignificant whitespace + assert_toc!("tables_untouched"); +} + +#[test] +fn handles_inline_code() { + // Regression test. + // Inline code in a header was broken up into multiple items. + // Also test for deeply nested headers. + assert_toc!("handles_inline_code"); +} + +#[test] +fn multi_header_regression() { + assert_toc!("multi_header"); +} + +#[test] +fn multi_header_linear_regression_3() { + assert_toc!("multi_header_linear"); +} + +#[test] +fn add_toc_with_gitlab_marker() { + let marker = "[[_TOC_]]".to_owned(); + + assert_toc!("gitlab_marker", with_marker(marker)); +} + +#[test] +fn unique_slugs() { + assert_toc!("unique_slugs"); +} + +#[test] +fn add_toc_with_github_marker() { + let marker = "* auto-gen TOC:\n{:toc}".to_owned(); + assert_toc!("github_marker", with_marker(marker)); +} + +#[test] +fn lower_max_level() { + assert_toc!("lower_max_level", with_max_level(2)); +} + +#[test] +fn higher_max_level() { + assert_toc!("higher_max_level", with_max_level(7)); +} + +// Regression test for [#13](https://github.com/badboy/mdbook-toc/issues/13). +// Choosing a non-HTML TOC marker breaks sites that don't use it at all, +// removed the header and first paragraph. +#[test] +fn nonhtml_marker_no_toc_in_page() { + let marker = "[[_TOC_]]".to_owned(); + assert_toc!("nonhtml_marker_no_use", with_marker(marker)); +} + +#[test] +fn similar_heading_different_casing() { + // Regression test #15 + // Previously we didn't use the normalized header ("slug") to decide whether to use + // different link anchors. + + assert_toc!("similar_heading_different_casing"); +} diff --git a/tests/lower_max_level.in.md b/tests/lower_max_level.in.md new file mode 100644 index 0000000..a468123 --- /dev/null +++ b/tests/lower_max_level.in.md @@ -0,0 +1,16 @@ +# Chapter + + + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/lower_max_level.out.md b/tests/lower_max_level.out.md new file mode 100644 index 0000000..c08de9f --- /dev/null +++ b/tests/lower_max_level.out.md @@ -0,0 +1,20 @@ +# Chapter + +* [Header 1](#header-1) + * [Header 1.1](#header-11) +* [Header 2](#header-2) + * [Header 2.1](#header-21) + * [Header 2.2](#header-22) + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/multi_header.in.md b/tests/multi_header.in.md new file mode 100644 index 0000000..7dc2f52 --- /dev/null +++ b/tests/multi_header.in.md @@ -0,0 +1,17 @@ +# Main Summary + + + +# Introduction + +### Contents + +### Background and Caveats + +#### Test + +### Accessing the Data + +# Adding New Fields + +## User Preferences diff --git a/tests/multi_header.out.md b/tests/multi_header.out.md new file mode 100644 index 0000000..ac8129c --- /dev/null +++ b/tests/multi_header.out.md @@ -0,0 +1,23 @@ +# Main Summary + +* [Introduction](#introduction) + * [Contents](#contents) + * [Background and Caveats](#background-and-caveats) + * [Test](#test) + * [Accessing the Data](#accessing-the-data) +* [Adding New Fields](#adding-new-fields) + * [User Preferences](#user-preferences) + +# Introduction + +### Contents + +### Background and Caveats + +#### Test + +### Accessing the Data + +# Adding New Fields + +## User Preferences diff --git a/tests/multi_header_linear.in.md b/tests/multi_header_linear.in.md new file mode 100644 index 0000000..735487c --- /dev/null +++ b/tests/multi_header_linear.in.md @@ -0,0 +1,11 @@ +# Heading + + + +## Level 1.1 +### Level 1.1.1 +### Level 1.1.2 +## Level 1.2 +### Level 1.2.1 + +text diff --git a/tests/multi_header_linear.out.md b/tests/multi_header_linear.out.md new file mode 100644 index 0000000..d5afac4 --- /dev/null +++ b/tests/multi_header_linear.out.md @@ -0,0 +1,20 @@ +# Heading + +* [Level 1.1](#level-11) + * [Level 1.1.1](#level-111) + * [Level 1.1.2](#level-112) +* [Level 1.2](#level-12) + * [Level 1.2.1](#level-121) + +## Level 1.1 + +### Level 1.1.1 + +### Level 1.1.2 + +## Level 1.2 + +### Level 1.2.1 + +text + diff --git a/tests/nonhtml_marker_no_use.in.md b/tests/nonhtml_marker_no_use.in.md new file mode 100644 index 0000000..96b3fef --- /dev/null +++ b/tests/nonhtml_marker_no_use.in.md @@ -0,0 +1,16 @@ +# Chapter + +First paragraph + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/nonhtml_marker_no_use.out.md b/tests/nonhtml_marker_no_use.out.md new file mode 100644 index 0000000..96b3fef --- /dev/null +++ b/tests/nonhtml_marker_no_use.out.md @@ -0,0 +1,16 @@ +# Chapter + +First paragraph + +# Header 1 + +## Header 1.1 + +# Header 2 + +## Header 2.1 + +## Header 2.2 + +### Header 2.2.1 + diff --git a/tests/similar_heading_different_casing.in.md b/tests/similar_heading_different_casing.in.md new file mode 100644 index 0000000..c5fe809 --- /dev/null +++ b/tests/similar_heading_different_casing.in.md @@ -0,0 +1,8 @@ +# Chapter + + + +# Tag + +## tag + diff --git a/tests/similar_heading_different_casing.out.md b/tests/similar_heading_different_casing.out.md new file mode 100644 index 0000000..a6b6983 --- /dev/null +++ b/tests/similar_heading_different_casing.out.md @@ -0,0 +1,9 @@ +# Chapter + +* [Tag](#tag) + * [tag](#tag-1) + +# Tag + +## tag + diff --git a/tests/tables_untouched.in.md b/tests/tables_untouched.in.md new file mode 100644 index 0000000..1d668ed --- /dev/null +++ b/tests/tables_untouched.in.md @@ -0,0 +1,6 @@ +# Heading + +| Head 1 | Head 2 | +|--------|--------| +| Row 1 | Row 2 | + diff --git a/tests/tables_untouched.out.md b/tests/tables_untouched.out.md new file mode 100644 index 0000000..7207799 --- /dev/null +++ b/tests/tables_untouched.out.md @@ -0,0 +1,5 @@ +# Heading + +|Head 1|Head 2| +|------|------| +|Row 1|Row 2| diff --git a/tests/unique_slugs.in.md b/tests/unique_slugs.in.md new file mode 100644 index 0000000..17f494d --- /dev/null +++ b/tests/unique_slugs.in.md @@ -0,0 +1,14 @@ +# Chapter + + + +## Duplicate + +### Duplicate + +#### Duplicate + +##### Duplicate + +## Duplicate + diff --git a/tests/unique_slugs.out.md b/tests/unique_slugs.out.md new file mode 100644 index 0000000..45d20e3 --- /dev/null +++ b/tests/unique_slugs.out.md @@ -0,0 +1,17 @@ +# Chapter + +* [Duplicate](#duplicate) + * [Duplicate](#duplicate-1) + * [Duplicate](#duplicate-2) +* [Duplicate](#duplicate-4) + +## Duplicate + +### Duplicate + +#### Duplicate + +##### Duplicate + +## Duplicate + diff --git a/tests/with_inline_code.in.md b/tests/with_inline_code.in.md new file mode 100644 index 0000000..c09b35c --- /dev/null +++ b/tests/with_inline_code.in.md @@ -0,0 +1,11 @@ +# Chapter + + + +# Header 1 + +## `Header 1.1` + +# Header 2 + +## Header 2.1 diff --git a/tests/with_inline_code.out.md b/tests/with_inline_code.out.md new file mode 100644 index 0000000..0576311 --- /dev/null +++ b/tests/with_inline_code.out.md @@ -0,0 +1,14 @@ +# Chapter + +* [Header 1](#header-1) + * [`Header 1.1`](#header-11) +* [Header 2](#header-2) + * [Header 2.1](#header-21) + +# Header 1 + +## `Header 1.1` + +# Header 2 + +## Header 2.1