Allow mardown files in system tests This will make it easeir to write tests for markdown codeblock reformatting.
diff --git a/src/test/mod.rs b/src/test/mod.rs index c8137c1..6789403 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs
@@ -109,7 +109,9 @@ let path = entry.path(); if path.is_dir() && recursive { files.append(&mut get_test_files(&path, recursive)); - } else if path.extension().map_or(false, |f| f == "rs") && !is_file_skip(&path) { + } else if path.extension().map_or(false, |f| f == "rs" || f == "md") + && !is_file_skip(&path) + { files.push(path); } }
diff --git a/tests/source/markdown/example.md b/tests/source/markdown/example.md new file mode 100644 index 0000000..f3ecc78 --- /dev/null +++ b/tests/source/markdown/example.md
@@ -0,0 +1,64 @@ +# Testing rustfmts support for formatting code blocks in markdown files + +The goal here is to format rust code blocks in markdown files.\ +Formatting will _mostly_ impact unformatted code blocks, however there will be minor changes to markdown constructs outside of code blocks. For example, aligning GitHub Flavored Markdown (GFM) tables. + + +```rust +fn main() { + println!( "Hello world!" + ) +} +``` + +Here's an indented code block that won't be formatted + + fn main() { + println!( "Hello world!" + ) + } + +> > Here's a code block in a blockquote +> > ``` rust +> > fn main() { +> > println!( "Hello world!" +> > ) +> > } +> > ``` + +* Here's a code block in a list! + ```rust + fn main() { + println!( "Hello world!" + ) + } + ``` + +>> * Here's a code block in a deeply nested markdown context +>> * ```rust +>> fn main() { +>> println!( "Hello world!" +>> ) +>> } +>> ``` + +<p>Markdown also support inline HTML</p> + +Oh and we've got some cool support for aligning tables: + +| column 1 | column 2 | column 3| +| :---: | :--- | ---: | +| values for column 1 | values for column 2 | values for column 3 | +| 😁😁 | 🎉🎉🎉 | 😁 :^) :^)| + +Check out the [commonmark spec]! + +[commonmark spec]: https://spec.commonmark.org/0.30/ + +Look we can also link to rust traits or types like [`Debug`] and [`Vec`]. +Some additional text with [brackets]. what if I manually \[esacpe the bracket\]? looks like they stay escaped! + + +[a dead link]: https://this/link/isnt/used + +[`Debug`]: core::fmt::Debug
diff --git a/tests/target/markdown/example.md b/tests/target/markdown/example.md new file mode 100644 index 0000000..79278af --- /dev/null +++ b/tests/target/markdown/example.md
@@ -0,0 +1,60 @@ +# Testing rustfmts support for formatting code blocks in markdown files + +The goal here is to format rust code blocks in markdown files.\ +Formatting will _mostly_ impact unformatted code blocks, however there will be minor changes to markdown constructs outside of code blocks. For example, aligning GitHub Flavored Markdown (GFM) tables. + + +```rust +fn main() { + println!("Hello world!") +} +``` + +Here's an indented code block that won't be formatted + + fn main() { + println!( "Hello world!" + ) + } + +> > Here's a code block in a blockquote +> > ``` rust +> > fn main() { +> > println!("Hello world!") +> > } +> > ``` + +* Here's a code block in a list! + ```rust + fn main() { + println!("Hello world!") + } + ``` + +> > * Here's a code block in a deeply nested markdown context +> > * ```rust +> > fn main() { +> > println!("Hello world!") +> > } +> > ``` + +<p>Markdown also support inline HTML</p> + +Oh and we've got some cool support for aligning tables: + +| column 1 | column 2 | column 3 | +| :-----------------: | :------------------ | ------------------: | +| values for column 1 | values for column 2 | values for column 3 | +| 😁😁 | 🎉🎉🎉 | 😁 :^) :^) | + +Check out the [commonmark spec]! + +[commonmark spec]: https://spec.commonmark.org/0.30/ + +Look we can also link to rust traits or types like [`Debug`] and [`Vec`]. +Some additional text with [brackets]. what if I manually \[esacpe the bracket\]? looks like they stay escaped! + + +[a dead link]: https://this/link/isnt/used + +[`Debug`]: core::fmt::Debug