Skip to content

Commit

Permalink
Allow mardown files in system tests
Browse files Browse the repository at this point in the history
This will make it easeir to write tests for markdown codeblock
reformatting.
  • Loading branch information
ytmimi committed Sep 12, 2023
1 parent 33bed1d commit a32eefb
Show file tree
Hide file tree
Showing 3 changed files with 127 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/test/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,9 @@ fn get_test_files(path: &Path, recursive: bool) -> Vec<PathBuf> {
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);
}
}
Expand Down
64 changes: 64 additions & 0 deletions tests/source/markdown/example.md
Original file line number Diff line number Diff line change
@@ -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
60 changes: 60 additions & 0 deletions tests/target/markdown/example.md
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit a32eefb

Please sign in to comment.