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