Skip to content

Commit e4ae213

Browse files
authored
test preview cases with line-length 1 unless explicitly skipped (#4087)
* Add new flag for tests, --no-preview-line-length-1, to be used for test cases known to not work in preview mode with line-length=1. Also split out the problematic cases in three cases to separate files. Removed now redundant file which explicitly tested preview annotations with line-length=1 * mode.preview -> preview_mode, mark pep_572_remove_parens as failing with ll1
1 parent 50d5756 commit e4ae213

9 files changed

+154
-127
lines changed

tests/data/cases/comment_type_hint.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# flags: --no-preview-line-length-1
2+
# split out from comments2 as it does not work with line-length=1, losing the comment
3+
a = "type comment with trailing space" # type: str

tests/data/cases/comments2.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,6 @@ def _init_host(self, parsed) -> None:
155155
pass
156156

157157

158-
a = "type comment with trailing space" # type: str
159-
160158
#######################
161159
### SECTION COMMENT ###
162160
#######################
@@ -335,8 +333,6 @@ def _init_host(self, parsed) -> None:
335333
pass
336334

337335

338-
a = "type comment with trailing space" # type: str
339-
340336
#######################
341337
### SECTION COMMENT ###
342338
#######################

tests/data/cases/fmtskip2.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
# flags: --no-preview-line-length-1
2+
# l2 loses the comment with line-length=1 in preview mode
13
l1 = ["This list should be broken up", "into multiple lines", "because it is way too long"]
24
l2 = ["But this list shouldn't", "even though it also has", "way too many characters in it"] # fmt: skip
35
l3 = ["I have", "trailing comma", "so I should be braked",]
46

57
# output
68

9+
# l2 loses the comment with line-length=1 in preview mode
710
l1 = [
811
"This list should be broken up",
912
"into multiple lines",
@@ -14,4 +17,4 @@
1417
"I have",
1518
"trailing comma",
1619
"so I should be braked",
17-
]
20+
]

tests/data/cases/pep_572_remove_parens.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# flags: --minimum-version=3.8
1+
# flags: --minimum-version=3.8 --no-preview-line-length-1
22
if (foo := 0):
33
pass
44

tests/data/cases/preview_hug_parens_with_braces_and_square_brackets.py

Lines changed: 0 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -125,23 +125,6 @@ def foo_square_brackets(request):
125125
func([x for x in "long line long line long line long line long line long line long line"])
126126
func([x for x in [x for x in "long line long line long line long line long line long line long line"]])
127127

128-
func({"short line"})
129-
func({"long line", "long long line", "long long long line", "long long long long line", "long long long long long line"})
130-
func({{"long line", "long long line", "long long long line", "long long long long line", "long long long long long line"}})
131-
func(("long line", "long long line", "long long long line", "long long long long line", "long long long long long line"))
132-
func((("long line", "long long line", "long long long line", "long long long long line", "long long long long long line")))
133-
func([["long line", "long long line", "long long long line", "long long long long line", "long long long long long line"]])
134-
135-
# Do not hug if the argument fits on a single line.
136-
func({"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"})
137-
func(("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"))
138-
func(["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"])
139-
func(**{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit---"})
140-
func(*("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit----"))
141-
array = [{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}]
142-
array = [("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")]
143-
array = [["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]]
144-
145128
foooooooooooooooooooo(
146129
[{c: n + 1 for c in range(256)} for n in range(100)] + [{}], {size}
147130
)
@@ -151,14 +134,11 @@ def foo_square_brackets(request):
151134
)
152135

153136
nested_mapping = {"key": [{"a very long key 1": "with a very long value", "a very long key 2": "with a very long value"}]}
154-
nested_array = [[["long line", "long long line", "long long long line", "long long long long line", "long long long long long line"]]]
155137
explicit_exploding = [[["short", "line",],],]
156138
single_item_do_not_explode = Context({
157139
"version": get_docs_version(),
158140
})
159141

160-
foo(*["long long long long long line", "long long long long long line", "long long long long long line"])
161-
162142
foo(*[str(i) for i in range(100000000000000000000000000000000000000000000000000000000000)])
163143

164144
foo(
@@ -310,69 +290,6 @@ def foo_square_brackets(request):
310290
]
311291
])
312292

313-
func({"short line"})
314-
func({
315-
"long line",
316-
"long long line",
317-
"long long long line",
318-
"long long long long line",
319-
"long long long long long line",
320-
})
321-
func({{
322-
"long line",
323-
"long long line",
324-
"long long long line",
325-
"long long long long line",
326-
"long long long long long line",
327-
}})
328-
func((
329-
"long line",
330-
"long long line",
331-
"long long long line",
332-
"long long long long line",
333-
"long long long long long line",
334-
))
335-
func(((
336-
"long line",
337-
"long long line",
338-
"long long long line",
339-
"long long long long line",
340-
"long long long long long line",
341-
)))
342-
func([[
343-
"long line",
344-
"long long line",
345-
"long long long line",
346-
"long long long long line",
347-
"long long long long long line",
348-
]])
349-
350-
# Do not hug if the argument fits on a single line.
351-
func(
352-
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
353-
)
354-
func(
355-
("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
356-
)
357-
func(
358-
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
359-
)
360-
func(
361-
**{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit---"}
362-
)
363-
func(
364-
*("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit----")
365-
)
366-
array = [
367-
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
368-
]
369-
array = [
370-
("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
371-
]
372-
array = [
373-
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
374-
]
375-
376293
foooooooooooooooooooo(
377294
[{c: n + 1 for c in range(256)} for n in range(100)] + [{}], {size}
378295
)
@@ -387,13 +304,6 @@ def foo_square_brackets(request):
387304
"a very long key 2": "with a very long value",
388305
}]
389306
}
390-
nested_array = [[[
391-
"long line",
392-
"long long line",
393-
"long long long line",
394-
"long long long long line",
395-
"long long long long long line",
396-
]]]
397307
explicit_exploding = [
398308
[
399309
[
@@ -406,12 +316,6 @@ def foo_square_brackets(request):
406316
"version": get_docs_version(),
407317
})
408318

409-
foo(*[
410-
"long long long long long line",
411-
"long long long long long line",
412-
"long long long long long line",
413-
])
414-
415319
foo(*[
416320
str(i) for i in range(100000000000000000000000000000000000000000000000000000000000)
417321
])
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# flags: --preview --no-preview-line-length-1
2+
# split out from preview_hug_parens_with_brackes_and_square_brackets, as it produces
3+
# different code on the second pass with line-length 1 in many cases.
4+
# Seems to be about whether the last string in a sequence gets wrapped in parens or not.
5+
foo(*["long long long long long line", "long long long long long line", "long long long long long line"])
6+
func({"short line"})
7+
func({"long line", "long long line", "long long long line", "long long long long line", "long long long long long line"})
8+
func({{"long line", "long long line", "long long long line", "long long long long line", "long long long long long line"}})
9+
func(("long line", "long long line", "long long long line", "long long long long line", "long long long long long line"))
10+
func((("long line", "long long line", "long long long line", "long long long long line", "long long long long long line")))
11+
func([["long line", "long long line", "long long long line", "long long long long line", "long long long long long line"]])
12+
13+
14+
# Do not hug if the argument fits on a single line.
15+
func({"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"})
16+
func(("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"))
17+
func(["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"])
18+
func(**{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit---"})
19+
func(*("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit----"))
20+
array = [{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}]
21+
array = [("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")]
22+
array = [["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]]
23+
24+
nested_array = [[["long line", "long long line", "long long long line", "long long long long line", "long long long long long line"]]]
25+
26+
# output
27+
28+
# split out from preview_hug_parens_with_brackes_and_square_brackets, as it produces
29+
# different code on the second pass with line-length 1 in many cases.
30+
# Seems to be about whether the last string in a sequence gets wrapped in parens or not.
31+
foo(*[
32+
"long long long long long line",
33+
"long long long long long line",
34+
"long long long long long line",
35+
])
36+
func({"short line"})
37+
func({
38+
"long line",
39+
"long long line",
40+
"long long long line",
41+
"long long long long line",
42+
"long long long long long line",
43+
})
44+
func({{
45+
"long line",
46+
"long long line",
47+
"long long long line",
48+
"long long long long line",
49+
"long long long long long line",
50+
}})
51+
func((
52+
"long line",
53+
"long long line",
54+
"long long long line",
55+
"long long long long line",
56+
"long long long long long line",
57+
))
58+
func(((
59+
"long line",
60+
"long long line",
61+
"long long long line",
62+
"long long long long line",
63+
"long long long long long line",
64+
)))
65+
func([[
66+
"long line",
67+
"long long line",
68+
"long long long line",
69+
"long long long long line",
70+
"long long long long long line",
71+
]])
72+
73+
74+
# Do not hug if the argument fits on a single line.
75+
func(
76+
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
77+
)
78+
func(
79+
("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
80+
)
81+
func(
82+
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
83+
)
84+
func(
85+
**{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit---"}
86+
)
87+
func(
88+
*("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit----")
89+
)
90+
array = [
91+
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
92+
]
93+
array = [
94+
("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
95+
]
96+
array = [
97+
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
98+
]
99+
100+
nested_array = [[[
101+
"long line",
102+
"long long line",
103+
"long long long line",
104+
"long long long long line",
105+
"long long long long long line",
106+
]]]

tests/data/cases/return_annotation_brackets_crash_line_length_1.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/test_format.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def check_file(subdir: str, filename: str, *, data: bool = True) -> None:
3030
fast=args.fast,
3131
minimum_version=args.minimum_version,
3232
lines=args.lines,
33+
no_preview_line_length_1=args.no_preview_line_length_1,
3334
)
3435
if args.minimum_version is not None:
3536
major, minor = args.minimum_version
@@ -42,6 +43,7 @@ def check_file(subdir: str, filename: str, *, data: bool = True) -> None:
4243
fast=args.fast,
4344
minimum_version=args.minimum_version,
4445
lines=args.lines,
46+
no_preview_line_length_1=args.no_preview_line_length_1,
4547
)
4648

4749

0 commit comments

Comments
 (0)