Skip to content

Commit 190fe00

Browse files
committed
Add test for doc_comment_code_block_small_heuristics
This test is based on the `use_small_heuristics` tests. It tests that the code *outside* the doc comment gets formatted using `Max`, while the code inside doc comments gets formatted using `Default`.
1 parent 05ffc0b commit 190fe00

File tree

2 files changed

+139
-0
lines changed

2 files changed

+139
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// rustfmt-format_code_in_doc_comments: true
2+
// rustfmt-use_small_heuristics: Max
3+
// rustfmt-doc_comment_code_block_small_heuristics: Default
4+
5+
/// Start of a doc comment.
6+
///
7+
/// ```
8+
/// enum Lorem {
9+
/// Ipsum,
10+
/// Dolor(bool),
11+
/// Sit { amet: Consectetur, adipiscing: Elit },
12+
/// }
13+
///
14+
/// fn main() {
15+
/// lorem("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing");
16+
///
17+
/// let lorem = Lorem { ipsum: dolor, sit: amet };
18+
///
19+
/// let lorem = if ipsum { dolor } else { sit };
20+
/// }
21+
///
22+
/// fn format_let_else() {
23+
/// let Some(a) = opt else {};
24+
///
25+
/// let Some(b) = opt else { return };
26+
///
27+
/// let Some(c) = opt else { return };
28+
///
29+
/// let Some(d) = some_very_very_very_very_long_name else { return };
30+
/// }
31+
/// ```
32+
///
33+
/// End of a doc comment.
34+
struct S;
35+
36+
enum Lorem {
37+
Ipsum,
38+
Dolor(bool),
39+
Sit {
40+
amet: Consectetur,
41+
adipiscing: Elit,
42+
},
43+
}
44+
45+
fn main() {
46+
lorem("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing");
47+
48+
let lorem = Lorem {
49+
ipsum: dolor,
50+
sit: amet,
51+
};
52+
53+
let lorem = if ipsum {
54+
dolor
55+
} else {
56+
sit
57+
};
58+
}
59+
60+
fn format_let_else() {
61+
let Some(a) = opt else {};
62+
63+
let Some(b) = opt else { return };
64+
65+
let Some(c) = opt else { return };
66+
67+
let Some(d) = some_very_very_very_very_long_name else { return };
68+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
// rustfmt-format_code_in_doc_comments: true
2+
// rustfmt-use_small_heuristics: Max
3+
// rustfmt-doc_comment_code_block_small_heuristics: Default
4+
5+
/// Start of a doc comment.
6+
///
7+
/// ```
8+
/// enum Lorem {
9+
/// Ipsum,
10+
/// Dolor(bool),
11+
/// Sit { amet: Consectetur, adipiscing: Elit },
12+
/// }
13+
///
14+
/// fn main() {
15+
/// lorem(
16+
/// "lorem",
17+
/// "ipsum",
18+
/// "dolor",
19+
/// "sit",
20+
/// "amet",
21+
/// "consectetur",
22+
/// "adipiscing",
23+
/// );
24+
///
25+
/// let lorem = Lorem {
26+
/// ipsum: dolor,
27+
/// sit: amet,
28+
/// };
29+
///
30+
/// let lorem = if ipsum { dolor } else { sit };
31+
/// }
32+
///
33+
/// fn format_let_else() {
34+
/// let Some(a) = opt else {};
35+
///
36+
/// let Some(b) = opt else { return };
37+
///
38+
/// let Some(c) = opt else { return };
39+
///
40+
/// let Some(d) = some_very_very_very_very_long_name else {
41+
/// return;
42+
/// };
43+
/// }
44+
/// ```
45+
///
46+
/// End of a doc comment.
47+
struct S;
48+
49+
enum Lorem {
50+
Ipsum,
51+
Dolor(bool),
52+
Sit { amet: Consectetur, adipiscing: Elit },
53+
}
54+
55+
fn main() {
56+
lorem("lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing");
57+
58+
let lorem = Lorem { ipsum: dolor, sit: amet };
59+
60+
let lorem = if ipsum { dolor } else { sit };
61+
}
62+
63+
fn format_let_else() {
64+
let Some(a) = opt else {};
65+
66+
let Some(b) = opt else { return };
67+
68+
let Some(c) = opt else { return };
69+
70+
let Some(d) = some_very_very_very_very_long_name else { return };
71+
}

0 commit comments

Comments
 (0)