]> git.madduck.net Git - etc/vim.git/blob - tests/data/expression.diff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

da20094cc1ea688ae4a2a0748c54f10a3d872c86
[etc/vim.git] / tests / data / expression.diff
1 --- [Deterministic header]
2 +++ [Deterministic header]
3 @@ -1,8 +1,8 @@
4  ...
5 -'some_string'
6 -b'\\xa3'
7 +"some_string"
8 +b"\\xa3"
9  Name
10  None
11  True
12  False
13  1
14 @@ -29,63 +29,96 @@
15  ~great
16  +value
17  -1
18  ~int and not v1 ^ 123 + v2 | True
19  (~int) and (not ((v1 ^ (123 + v2)) | True))
20 -+really ** -confusing ** ~operator ** -precedence
21 -flags & ~ select.EPOLLIN and waiters.write_task is not None
22 ++(really ** -(confusing ** ~(operator ** -precedence)))
23 +flags & ~select.EPOLLIN and waiters.write_task is not None
24  lambda arg: None
25  lambda a=True: a
26  lambda a, b, c=True: a
27 -lambda a, b, c=True, *, d=(1 << v2), e='str': a
28 -lambda a, b, c=True, *vararg, d=(v1 << 2), e='str', **kwargs: a + b
29 +lambda a, b, c=True, *, d=(1 << v2), e="str": a
30 +lambda a, b, c=True, *vararg, d=(v1 << 2), e="str", **kwargs: a + b
31  manylambdas = lambda x=lambda y=lambda z=1: z: y(): x()
32 -foo = (lambda port_id, ignore_missing: {"port1": port1_resource, "port2": port2_resource}[port_id])
33 +foo = lambda port_id, ignore_missing: {
34 +    "port1": port1_resource,
35 +    "port2": port2_resource,
36 +}[port_id]
37  1 if True else 2
38  str or None if True else str or bytes or None
39  (str or None) if True else (str or bytes or None)
40  str or None if (1 if True else 2) else str or bytes or None
41  (str or None) if (1 if True else 2) else (str or bytes or None)
42 -((super_long_variable_name or None) if (1 if super_long_test_name else 2) else (str or bytes or None))
43 -{'2.7': dead, '3.7': (long_live or die_hard)}
44 -{'2.7': dead, '3.7': (long_live or die_hard), **{'3.6': verygood}}
45 +(
46 +    (super_long_variable_name or None)
47 +    if (1 if super_long_test_name else 2)
48 +    else (str or bytes or None)
49 +)
50 +{"2.7": dead, "3.7": (long_live or die_hard)}
51 +{"2.7": dead, "3.7": (long_live or die_hard), **{"3.6": verygood}}
52  {**a, **b, **c}
53 -{'2.7', '3.6', '3.7', '3.8', '3.9', ('4.0' if gilectomy else '3.10')}
54 -({'a': 'b'}, (True or False), (+value), 'string', b'bytes') or None
55 +{"2.7", "3.6", "3.7", "3.8", "3.9", ("4.0" if gilectomy else "3.10")}
56 +({"a": "b"}, (True or False), (+value), "string", b"bytes") or None
57  ()
58  (1,)
59  (1, 2)
60  (1, 2, 3)
61  []
62  [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
63 -[1, 2, 3,]
64 +[
65 +    1,
66 +    2,
67 +    3,
68 +]
69  [*a]
70  [*range(10)]
71 -[*a, 4, 5,]
72 -[4, *a, 5,]
73 -[this_is_a_very_long_variable_which_will_force_a_delimiter_split, element, another, *more]
74 +[
75 +    *a,
76 +    4,
77 +    5,
78 +]
79 +[
80 +    4,
81 +    *a,
82 +    5,
83 +]
84 +[
85 +    this_is_a_very_long_variable_which_will_force_a_delimiter_split,
86 +    element,
87 +    another,
88 +    *more,
89 +]
90  {i for i in (1, 2, 3)}
91  {(i ** 2) for i in (1, 2, 3)}
92 -{(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))}
93 +{(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))}
94  {((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
95  [i for i in (1, 2, 3)]
96  [(i ** 2) for i in (1, 2, 3)]
97 -[(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))]
98 +[(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))]
99  [((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
100  {i: 0 for i in (1, 2, 3)}
101 -{i: j for i, j in ((1, 'a'), (2, 'b'), (3, 'c'))}
102 +{i: j for i, j in ((1, "a"), (2, "b"), (3, "c"))}
103  {a: b * 2 for a, b in dictionary.items()}
104  {a: b * -2 for a, b in dictionary.items()}
105 -{k: v for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension}
106 +{
107 +    k: v
108 +    for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension
109 +}
110  Python3 > Python2 > COBOL
111  Life is Life
112  call()
113  call(arg)
114 -call(kwarg='hey')
115 -call(arg, kwarg='hey')
116 -call(arg, another, kwarg='hey', **kwargs)
117 -call(this_is_a_very_long_variable_which_will_force_a_delimiter_split, arg, another, kwarg='hey', **kwargs)  # note: no trailing comma pre-3.6
118 +call(kwarg="hey")
119 +call(arg, kwarg="hey")
120 +call(arg, another, kwarg="hey", **kwargs)
121 +call(
122 +    this_is_a_very_long_variable_which_will_force_a_delimiter_split,
123 +    arg,
124 +    another,
125 +    kwarg="hey",
126 +    **kwargs
127 +)  # note: no trailing comma pre-3.6
128  call(*gidgets[:2])
129  call(a, *gidgets[:2])
130  call(**self.screen_kwargs)
131  call(b, **self.screen_kwargs)
132  lukasz.langa.pl
133 @@ -94,23 +127,25 @@
134  1.0 .real
135  ....__class__
136  list[str]
137  dict[str, int]
138  tuple[str, ...]
139 -tuple[str, int, float, dict[str, int],]
140 +tuple[
141 +    str, int, float, dict[str, int],
142 +]
143  very_long_variable_name_filters: t.List[
144      t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
145  ]
146  xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(  # type: ignore
147      sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
148  )
149  xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(  # type: ignore
150      sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
151  )
152 -xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[
153 -    ..., List[SomeClass]
154 -] = classmethod(sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__))  # type: ignore
155 +xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(
156 +    sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
157 +)  # type: ignore
158  slice[0]
159  slice[0:1]
160  slice[0:1:2]
161  slice[:]
162  slice[:-1]
163 @@ -134,113 +169,171 @@
164  numpy[-(c + 1) :, d]
165  numpy[:, l[-2]]
166  numpy[:, ::-1]
167  numpy[np.newaxis, :]
168  (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
169 -{'2.7': dead, '3.7': long_live or die_hard}
170 -{'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'}
171 +{"2.7": dead, "3.7": long_live or die_hard}
172 +{"2.7", "3.6", "3.7", "3.8", "3.9", "4.0" if gilectomy else "3.10"}
173  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
174 -(SomeName)
175 +SomeName
176  SomeName
177  (Good, Bad, Ugly)
178  (i for i in (1, 2, 3))
179  ((i ** 2) for i in (1, 2, 3))
180 -((i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c')))
181 +((i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c")))
182  (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
183  (*starred)
184 -{"id": "1","type": "type","started_at": now(),"ended_at": now() + timedelta(days=10),"priority": 1,"import_session_id": 1,**kwargs}
185 +{
186 +    "id": "1",
187 +    "type": "type",
188 +    "started_at": now(),
189 +    "ended_at": now() + timedelta(days=10),
190 +    "priority": 1,
191 +    "import_session_id": 1,
192 +    **kwargs,
193 +}
194  a = (1,)
195 -b = 1,
196 +b = (1,)
197  c = 1
198  d = (1,) + a + (2,)
199  e = (1,).count(1)
200  f = 1, *range(10)
201  g = 1, *"ten"
202 -what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(vars_to_remove)
203 -what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(vars_to_remove)
204 -result = session.query(models.Customer.id).filter(models.Customer.account_id == account_id, models.Customer.email == email_address).order_by(models.Customer.id.asc(),).all()
205 +what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(
206 +    vars_to_remove
207 +)
208 +what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(
209 +    vars_to_remove
210 +)
211 +result = (
212 +    session.query(models.Customer.id)
213 +    .filter(
214 +        models.Customer.account_id == account_id, models.Customer.email == email_address
215 +    )
216 +    .order_by(models.Customer.id.asc(),)
217 +    .all()
218 +)
219  Ø = set()
220  authors.łukasz.say_thanks()
221  mapping = {
222      A: 0.25 * (10.0 / 12),
223      B: 0.1 * (10.0 / 12),
224      C: 0.1 * (10.0 / 12),
225      D: 0.1 * (10.0 / 12),
226  }
227  
228 +
229  def gen():
230      yield from outside_of_generator
231 -    a = (yield)
232 -    b = ((yield))
233 -    c = (((yield)))
234 +    a = yield
235 +    b = yield
236 +    c = yield
237 +
238  
239  async def f():
240      await some.complicated[0].call(with_args=(True or (1 is not 1)))
241 -print(* [] or [1])
242 +
243 +
244 +print(*[] or [1])
245  print(**{1: 3} if False else {x: x for x in range(3)})
246 -print(* lambda x: x)
247 -assert(not Test),("Short message")
248 -assert this is ComplexTest and not requirements.fit_in_a_single_line(force=False), "Short message"
249 -assert(((parens is TooMany)))
250 -for x, in (1,), (2,), (3,): ...
251 -for y in (): ...
252 -for z in (i for i in (1, 2, 3)): ...
253 -for i in (call()): ...
254 -for j in (1 + (2 + 3)): ...
255 -while(this and that): ...
256 -for addr_family, addr_type, addr_proto, addr_canonname, addr_sockaddr in socket.getaddrinfo('google.com', 'http'):
257 +print(*lambda x: x)
258 +assert not Test, "Short message"
259 +assert this is ComplexTest and not requirements.fit_in_a_single_line(
260 +    force=False
261 +), "Short message"
262 +assert parens is TooMany
263 +for (x,) in (1,), (2,), (3,):
264 +    ...
265 +for y in ():
266 +    ...
267 +for z in (i for i in (1, 2, 3)):
268 +    ...
269 +for i in call():
270 +    ...
271 +for j in 1 + (2 + 3):
272 +    ...
273 +while this and that:
274 +    ...
275 +for (
276 +    addr_family,
277 +    addr_type,
278 +    addr_proto,
279 +    addr_canonname,
280 +    addr_sockaddr,
281 +) in socket.getaddrinfo("google.com", "http"):
282      pass
283 -a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
284 -a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp not in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
285 -a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp is qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
286 -a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp is not qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
287 -if (
288 -    threading.current_thread() != threading.main_thread() and
289 -    threading.current_thread() != threading.main_thread() or
290 -    signal.getsignal(signal.SIGINT) != signal.default_int_handler
291 -):
292 -    return True
293 -if (
294 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
295 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
296 -):
297 -    return True
298 -if (
299 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &
300 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
301 -):
302 -    return True
303 -if (
304 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
305 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
306 -):
307 -    return True
308 -if (
309 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -
310 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
311 -):
312 -    return True
313 -if (
314 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
315 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
316 -):
317 -    return True
318 -if (
319 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /
320 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
321 -):
322 -    return True
323 -if (
324 -    ~ aaaa.a + aaaa.b - aaaa.c * aaaa.d / aaaa.e | aaaa.f & aaaa.g % aaaa.h ^ aaaa.i << aaaa.k >> aaaa.l ** aaaa.m // aaaa.n
325 -):
326 -    return True
327 -if (
328 -    ~ aaaaaaaa.a + aaaaaaaa.b - aaaaaaaa.c @ aaaaaaaa.d / aaaaaaaa.e | aaaaaaaa.f & aaaaaaaa.g % aaaaaaaa.h ^ aaaaaaaa.i << aaaaaaaa.k >> aaaaaaaa.l ** aaaaaaaa.m // aaaaaaaa.n
329 -):
330 -    return True
331 -if (
332 -    ~ aaaaaaaaaaaaaaaa.a + aaaaaaaaaaaaaaaa.b - aaaaaaaaaaaaaaaa.c * aaaaaaaaaaaaaaaa.d @ aaaaaaaaaaaaaaaa.e | aaaaaaaaaaaaaaaa.f & aaaaaaaaaaaaaaaa.g % aaaaaaaaaaaaaaaa.h ^ aaaaaaaaaaaaaaaa.i << aaaaaaaaaaaaaaaa.k >> aaaaaaaaaaaaaaaa.l ** aaaaaaaaaaaaaaaa.m // aaaaaaaaaaaaaaaa.n
333 +a = (
334 +    aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
335 +    in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
336 +)
337 +a = (
338 +    aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
339 +    not in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
340 +)
341 +a = (
342 +    aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
343 +    is qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
344 +)
345 +a = (
346 +    aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
347 +    is not qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
348 +)
349 +if (
350 +    threading.current_thread() != threading.main_thread()
351 +    and threading.current_thread() != threading.main_thread()
352 +    or signal.getsignal(signal.SIGINT) != signal.default_int_handler
353 +):
354 +    return True
355 +if (
356 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
357 +    | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
358 +):
359 +    return True
360 +if (
361 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
362 +    & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
363 +):
364 +    return True
365 +if (
366 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
367 +    + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
368 +):
369 +    return True
370 +if (
371 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
372 +    - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
373 +):
374 +    return True
375 +if (
376 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
377 +    * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
378 +):
379 +    return True
380 +if (
381 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
382 +    / aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
383 +):
384 +    return True
385 +if (
386 +    ~aaaa.a + aaaa.b - aaaa.c * aaaa.d / aaaa.e
387 +    | aaaa.f & aaaa.g % aaaa.h ^ aaaa.i << aaaa.k >> aaaa.l ** aaaa.m // aaaa.n
388 +):
389 +    return True
390 +if (
391 +    ~aaaaaaaa.a + aaaaaaaa.b - aaaaaaaa.c @ aaaaaaaa.d / aaaaaaaa.e
392 +    | aaaaaaaa.f & aaaaaaaa.g % aaaaaaaa.h
393 +    ^ aaaaaaaa.i << aaaaaaaa.k >> aaaaaaaa.l ** aaaaaaaa.m // aaaaaaaa.n
394 +):
395 +    return True
396 +if (
397 +    ~aaaaaaaaaaaaaaaa.a
398 +    + aaaaaaaaaaaaaaaa.b
399 +    - aaaaaaaaaaaaaaaa.c * aaaaaaaaaaaaaaaa.d @ aaaaaaaaaaaaaaaa.e
400 +    | aaaaaaaaaaaaaaaa.f & aaaaaaaaaaaaaaaa.g % aaaaaaaaaaaaaaaa.h
401 +    ^ aaaaaaaaaaaaaaaa.i
402 +    << aaaaaaaaaaaaaaaa.k
403 +    >> aaaaaaaaaaaaaaaa.l ** aaaaaaaaaaaaaaaa.m // aaaaaaaaaaaaaaaa.n
404  ):
405      return True
406  last_call()
407  # standalone comment at ENDMARKER
408