Skip to content

Commit 0a8b110

Browse files
tests: more visual indent style tests
1 parent 79452d5 commit 0a8b110

File tree

5 files changed

+168
-3
lines changed

5 files changed

+168
-3
lines changed

Configurations.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ To enable unstable options, set `unstable_features = true` in `rustfmt.toml` or
1717

1818
Below you find a detailed visual guide on all the supported configuration options of rustfmt:
1919

20+
2021
## `binop_separator`
2122

2223
Where to put a binary operator when a binary expression goes multiline.

src/chains.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -792,7 +792,10 @@ fn format_chain_item(
792792
}
793793
}
794794
},
795-
_ => Some((orig_result, false)),
795+
_ => Some((
796+
orig_result.clone(),
797+
wrap_str(orig_result, context.config.max_width(), shape).is_none(),
798+
)),
796799
},
797800
(None, None) => Some((context.snippet(item.span).to_owned(), true)),
798801
(Some(orig_result), _) => Some((orig_result, false)),

src/config/mod.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ create_config! {
7474
ChainsBlockParentElementIndent::Never,
7575
false,
7676
"Determines whether block-like chain parents are indented";
77-
// allow_chain_call_overflow: bool, false, false,
78-
// "Format chains even if it includes a chain call which exceeds the max width";
7977

8078
// Ordering
8179
reorder_imports: bool, true, true, "Reorder import and extern crate statements alphabetically";

tests/source/chains_long_items_visual.rs

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,68 @@
11
// rustfmt-indent_style: Visual
22

33
fn long_parent() {
4+
// Args that do not fit
5+
let bar = baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf").foo().bar().baz();
6+
7+
baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf").foo().bar().baz();
8+
9+
// Long element no args
410
let bar = bazffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf().foo().bar().baz();
511

612
bazffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf().foo().foo().bar().baz();
713

14+
// Long element with args that fit
15+
let bar = looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnggggggggggggggggggggggggggggggggggggggggggg("ffffffffffffffffffffffffffffffffffff").foo().bar().baz();
16+
17+
asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff("ffffffffffffffffffffffffffffffffffff").foo().bar().baz();
818
}
919

1020
fn long_first_child() {
21+
// Args that do not fit
22+
let bar = foo().baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf").foo().bar().baz();
23+
24+
foo().baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf").foo().bar().baz();
25+
26+
// Long element no args
1127
let foo = bar().asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff().foo().bar().baz();
1228

1329
qux().asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff().foo().bar().baz();
30+
31+
// Long element with args that fit
32+
let bar = bar().asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff("abc").foo().bar().baz();
33+
34+
qux().asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff("abc").foo().bar().baz();
35+
}
36+
37+
fn long_inner_child() {
38+
// Args that do not fit
39+
let bar = foo().foo_bar.baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf").foo().bar().baz();
40+
41+
foo().foo_bar.baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf").foo().bar().baz();
42+
43+
// Long element no args
44+
let foo = bar().foo_bar.asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff().foo().bar().baz();
45+
46+
qux().foo_bar.asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff().foo().bar().baz();
47+
48+
// Long element with args that fit
49+
let bar = bar().foo_bar.asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff("abc").foo().bar().baz();
50+
51+
qux().foo_bar.asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff("abc").foo().bar().baz();
1452
}
1553

1654
fn long_tail() {
55+
// Args that do not fit
56+
let bar = foo().foo_bar.foo().bar().baz().baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf");
57+
58+
foo().foo_bar.foo().bar().baz().baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf");
59+
60+
// Log element no args
61+
let foo = bar().foo_bar.foo().bar().baz().asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff();
62+
63+
qux().foo_bar.foo().bar().baz().asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff();
64+
65+
// Long element with args that fit
1766
bar().xxxxxxx.map(|x| x + 5).map(|x| x / 2).fold(0, |acc, x| acc + x).doooooooooooooooooooooooooooooooooooooooooooooooooooooo_stufffffffffffffffffffffffffffffffffffffff("abcdefghadfasdfasdfasdfasdfadf");
1867

1968
let foo = bar().xxxxxxx.map(|x| x + 5).map(|x| x / 2).fold(0, |acc, x| acc + x).doooooooooooooooooooooooooooooooooooooooooooooooooooooo_stufffffffffffffffffffffffffffffffffffffff("abcdefghadfasdfasdfasdfasdfadf");

tests/target/chains_long_items_visual.rs

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
// rustfmt-indent_style: Visual
22

33
fn long_parent() {
4+
// Args that do not fit
5+
let bar = baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf")
6+
.foo()
7+
.bar()
8+
.baz();
9+
10+
baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf")
11+
.foo()
12+
.bar()
13+
.baz();
14+
15+
// Long element no args
416
let bar = bazffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf()
517
.foo()
618
.bar()
@@ -11,9 +23,32 @@ fn long_parent() {
1123
.foo()
1224
.bar()
1325
.baz();
26+
27+
// Long element with args that fit
28+
let bar = looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnggggggggggggggggggggggggggggggggggggggggggg("ffffffffffffffffffffffffffffffffffff")
29+
.foo()
30+
.bar()
31+
.baz();
32+
33+
asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff("ffffffffffffffffffffffffffffffffffff")
34+
.foo()
35+
.bar()
36+
.baz();
1437
}
1538

1639
fn long_first_child() {
40+
// Args that do not fit
41+
let bar = foo().baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf")
42+
.foo()
43+
.bar()
44+
.baz();
45+
46+
foo().baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf")
47+
.foo()
48+
.bar()
49+
.baz();
50+
51+
// Long element no args
1752
let foo = bar().asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff()
1853
.foo()
1954
.bar()
@@ -23,9 +58,88 @@ fn long_first_child() {
2358
.foo()
2459
.bar()
2560
.baz();
61+
62+
// Long element with args that fit
63+
let bar = bar().asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff("abc")
64+
.foo()
65+
.bar()
66+
.baz();
67+
68+
qux().asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff("abc")
69+
.foo()
70+
.bar()
71+
.baz();
72+
}
73+
74+
fn long_inner_child() {
75+
// Args that do not fit
76+
let bar = foo().foo_bar
77+
.baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf")
78+
.foo()
79+
.bar()
80+
.baz();
81+
82+
foo().foo_bar
83+
.baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf")
84+
.foo()
85+
.bar()
86+
.baz();
87+
88+
// Long element no args
89+
let foo = bar().foo_bar
90+
.asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff()
91+
.foo()
92+
.bar()
93+
.baz();
94+
95+
qux().foo_bar
96+
.asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff()
97+
.foo()
98+
.bar()
99+
.baz();
100+
101+
// Long element with args that fit
102+
let bar = bar().foo_bar
103+
.asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff("abc")
104+
.foo()
105+
.bar()
106+
.baz();
107+
108+
qux().foo_bar
109+
.asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff("abc")
110+
.foo()
111+
.bar()
112+
.baz();
26113
}
27114

28115
fn long_tail() {
116+
// Args that do not fit
117+
let bar = foo().foo_bar
118+
.foo()
119+
.bar()
120+
.baz()
121+
.baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf");
122+
123+
foo().foo_bar
124+
.foo()
125+
.bar()
126+
.baz()
127+
.baz("ffffffffffffffffffffffffffffffffffffasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadfasdfasdfasdfadfasdfasdf");
128+
129+
// Log element no args
130+
let foo = bar().foo_bar
131+
.foo()
132+
.bar()
133+
.baz()
134+
.asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff();
135+
136+
qux().foo_bar
137+
.foo()
138+
.bar()
139+
.baz()
140+
.asdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff();
141+
142+
// Long element with args that fit
29143
bar().xxxxxxx
30144
.map(|x| x + 5)
31145
.map(|x| x / 2)

0 commit comments

Comments
 (0)