Lines Matching +full:- +full:p

1 //===- unittest/Format/ObjCPropertyAttributeOrderFixerTest.cpp - unit tests
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
13 #define DEBUG_TYPE "format-objc-property-attribute-order-fixer-test"
82 verifyFormat("@property() int p;", Style); in TEST_F()
85 verifyFormat("@property(a) int p;", Style); in TEST_F()
86 verifyFormat("@property(b) int p;", Style); in TEST_F()
87 verifyFormat("@property(c) int p;", Style); in TEST_F()
90 verifyFormat("@property(a, b) int p;", Style); in TEST_F()
91 verifyFormat("@property(a, c) int p;", Style); in TEST_F()
92 verifyFormat("@property(b, c) int p;", Style); in TEST_F()
95 verifyFormat("@property(a, b, c) int p;", Style); in TEST_F()
98 verifyFormat("@property(a, b) int p;", "@property(b, a) int p;", Style); in TEST_F()
99 verifyFormat("@property(a, c) int p;", "@property(c, a) int p;", Style); in TEST_F()
100 verifyFormat("@property(b, c) int p;", "@property(c, b) int p;", Style); in TEST_F()
103 verifyFormat("@property(a, b, c) int p;", "@property(b, a, c) int p;", Style); in TEST_F()
104 verifyFormat("@property(a, b, c) int p;", "@property(c, b, a) int p;", Style); in TEST_F()
108 "@property(a, b) int p;", in TEST_F()
109 "@optional @property(b, a) int p;", Style); in TEST_F()
111 "@property(a, b) int p;", in TEST_F()
112 "@required @property(b, a) int p;", Style); in TEST_F()
114 // Check two `@property`s on one-line are reflowed (by other passes) in TEST_F()
116 verifyFormat("@property(a, b) int p;\n" in TEST_F()
118 "@property(b, a) int p; @property(b, a) int q;", Style); in TEST_F()
127 verifyFormat("@property(getter=G, c) int p;", Style); in TEST_F()
128 verifyFormat("@property(a, getter=G) int p;", Style); in TEST_F()
129 verifyFormat("@property(a, getter=G, c) int p;", Style); in TEST_F()
132 verifyFormat("@property(getter=G, c) int p;", "@property(c, getter=G) int p;", in TEST_F()
134 verifyFormat("@property(a, getter=G) int p;", "@property(getter=G, a) int p;", in TEST_F()
136 verifyFormat("@property(a, getter=G, c) int p;", in TEST_F()
137 "@property(getter=G, c, a) int p;", Style); in TEST_F()
140 verifyFormat("@property(a=A, c=C, x=X, y=Y) int p;", in TEST_F()
141 "@property(c=C, x=X, y=Y, a=A) int p;", Style); in TEST_F()
149 verifyFormat("@property(x) int p;", Style); in TEST_F()
152 verifyFormat("@property(a, x, y) int p;", Style); in TEST_F()
153 verifyFormat("@property(b, x, y) int p;", Style); in TEST_F()
154 verifyFormat("@property(a, b, c, x, y) int p;", Style); in TEST_F()
157 verifyFormat("@property(a, x) int p;", "@property(x, a) int p;", Style); in TEST_F()
160 verifyFormat("@property(a, b, x, y) int p;", "@property(x, b, y, a) int p;", in TEST_F()
162 verifyFormat("@property(a, b, y, x) int p;", "@property(y, b, x, a) int p;", in TEST_F()
168 // to do so. Preserve them and sort them best-effort. in TEST_F()
174 verifyFormat("@property(a) int p;", "@property(a, a) int p;", Style); in TEST_F()
177 verifyFormat("@property(a, b) int p;", "@property(a, b, a) int p;", Style); in TEST_F()
180 verifyFormat("@property(a=A, b=X) int p;", in TEST_F()
181 "@property(a=A, b=X, a=A, b=Y) int p;", Style); in TEST_F()
182 verifyFormat("@property(a=A, b=Y) int p;", in TEST_F()
183 "@property(a=A, b=Y, a=A, b=X) int p;", Style); in TEST_F()
184 verifyFormat("@property(a, b=B) int p;", "@property(a, b=B, a=A, b) int p;", in TEST_F()
193 // Spot-check a few simple cases that require sorting in a macro definition. in TEST_F()
194 verifyFormat("#define MACRO @property() int p;", Style); in TEST_F()
195 verifyFormat("#define MACRO @property(a) int p;", Style); in TEST_F()
196 verifyFormat("#define MACRO @property(a, b) int p;", in TEST_F()
197 "#define MACRO @property(b, a) int p;", Style); in TEST_F()
198 verifyFormat("#define MACRO @property(a, b, c) int p;", in TEST_F()
199 "#define MACRO @property(c, b, a) int p;", Style); in TEST_F()
228 verifyFormat("@property(class, LAST) int p;", Style); in TEST_F()
229 verifyFormat("@property(direct, LAST) int p;", Style); in TEST_F()
230 verifyFormat("@property(atomic, LAST) int p;", Style); in TEST_F()
231 verifyFormat("@property(nonatomic, LAST) int p;", Style); in TEST_F()
232 verifyFormat("@property(assign, LAST) int p;", Style); in TEST_F()
233 verifyFormat("@property(retain, LAST) int p;", Style); in TEST_F()
234 verifyFormat("@property(strong, LAST) int p;", Style); in TEST_F()
235 verifyFormat("@property(copy, LAST) int p;", Style); in TEST_F()
236 verifyFormat("@property(weak, LAST) int p;", Style); in TEST_F()
237 verifyFormat("@property(unsafe_unretained, LAST) int p;", Style); in TEST_F()
238 verifyFormat("@property(readonly, LAST) int p;", Style); in TEST_F()
239 verifyFormat("@property(readwrite, LAST) int p;", Style); in TEST_F()
240 verifyFormat("@property(getter, LAST) int p;", Style); in TEST_F()
241 verifyFormat("@property(setter, LAST) int p;", Style); in TEST_F()
242 verifyFormat("@property(nullable, LAST) int p;", Style); in TEST_F()
243 verifyFormat("@property(nonnull, LAST) int p;", Style); in TEST_F()
244 verifyFormat("@property(null_resettable, LAST) int p;", Style); in TEST_F()
245 verifyFormat("@property(null_unspecified, LAST) int p;", Style); in TEST_F()
247 verifyFormat("@property(FIRST, class) int p;", Style); in TEST_F()
248 verifyFormat("@property(FIRST, direct) int p;", Style); in TEST_F()
249 verifyFormat("@property(FIRST, atomic) int p;", Style); in TEST_F()
250 verifyFormat("@property(FIRST, nonatomic) int p;", Style); in TEST_F()
251 verifyFormat("@property(FIRST, assign) int p;", Style); in TEST_F()
252 verifyFormat("@property(FIRST, retain) int p;", Style); in TEST_F()
253 verifyFormat("@property(FIRST, strong) int p;", Style); in TEST_F()
254 verifyFormat("@property(FIRST, copy) int p;", Style); in TEST_F()
255 verifyFormat("@property(FIRST, weak) int p;", Style); in TEST_F()
256 verifyFormat("@property(FIRST, unsafe_unretained) int p;", Style); in TEST_F()
257 verifyFormat("@property(FIRST, readonly) int p;", Style); in TEST_F()
258 verifyFormat("@property(FIRST, readwrite) int p;", Style); in TEST_F()
259 verifyFormat("@property(FIRST, getter) int p;", Style); in TEST_F()
260 verifyFormat("@property(FIRST, setter) int p;", Style); in TEST_F()
261 verifyFormat("@property(FIRST, nullable) int p;", Style); in TEST_F()
262 verifyFormat("@property(FIRST, nonnull) int p;", Style); in TEST_F()
263 verifyFormat("@property(FIRST, null_resettable) int p;", Style); in TEST_F()
264 verifyFormat("@property(FIRST, null_unspecified) int p;", Style); in TEST_F()
266 verifyFormat("@property(FIRST, class, LAST) int p;", Style); in TEST_F()
267 verifyFormat("@property(FIRST, direct, LAST) int p;", Style); in TEST_F()
268 verifyFormat("@property(FIRST, atomic, LAST) int p;", Style); in TEST_F()
269 verifyFormat("@property(FIRST, nonatomic, LAST) int p;", Style); in TEST_F()
270 verifyFormat("@property(FIRST, assign, LAST) int p;", Style); in TEST_F()
271 verifyFormat("@property(FIRST, retain, LAST) int p;", Style); in TEST_F()
272 verifyFormat("@property(FIRST, strong, LAST) int p;", Style); in TEST_F()
273 verifyFormat("@property(FIRST, copy, LAST) int p;", Style); in TEST_F()
274 verifyFormat("@property(FIRST, weak, LAST) int p;", Style); in TEST_F()
275 verifyFormat("@property(FIRST, unsafe_unretained, LAST) int p;", Style); in TEST_F()
276 verifyFormat("@property(FIRST, readonly, LAST) int p;", Style); in TEST_F()
277 verifyFormat("@property(FIRST, readwrite, LAST) int p;", Style); in TEST_F()
278 verifyFormat("@property(FIRST, getter, LAST) int p;", Style); in TEST_F()
279 verifyFormat("@property(FIRST, setter, LAST) int p;", Style); in TEST_F()
280 verifyFormat("@property(FIRST, nullable, LAST) int p;", Style); in TEST_F()
281 verifyFormat("@property(FIRST, nonnull, LAST) int p;", Style); in TEST_F()
282 verifyFormat("@property(FIRST, null_resettable, LAST) int p;", Style); in TEST_F()
283 verifyFormat("@property(FIRST, null_unspecified, LAST) int p;", Style); in TEST_F()
286 verifyFormat("@property(class, LAST) int p;", "@property(LAST, class) int p;", in TEST_F()
288 verifyFormat("@property(direct, LAST) int p;", in TEST_F()
289 "@property(LAST, direct) int p;", Style); in TEST_F()
290 verifyFormat("@property(atomic, LAST) int p;", in TEST_F()
291 "@property(LAST, atomic) int p;", Style); in TEST_F()
292 verifyFormat("@property(nonatomic, LAST) int p;", in TEST_F()
293 "@property(LAST, nonatomic) int p;", Style); in TEST_F()
294 verifyFormat("@property(assign, LAST) int p;", in TEST_F()
295 "@property(LAST, assign) int p;", Style); in TEST_F()
296 verifyFormat("@property(retain, LAST) int p;", in TEST_F()
297 "@property(LAST, retain) int p;", Style); in TEST_F()
298 verifyFormat("@property(strong, LAST) int p;", in TEST_F()
299 "@property(LAST, strong) int p;", Style); in TEST_F()
300 verifyFormat("@property(copy, LAST) int p;", "@property(LAST, copy) int p;", in TEST_F()
302 verifyFormat("@property(weak, LAST) int p;", "@property(LAST, weak) int p;", in TEST_F()
304 verifyFormat("@property(unsafe_unretained, LAST) int p;", in TEST_F()
305 "@property(LAST, unsafe_unretained) int p;", Style); in TEST_F()
306 verifyFormat("@property(readonly, LAST) int p;", in TEST_F()
307 "@property(LAST, readonly) int p;", Style); in TEST_F()
308 verifyFormat("@property(readwrite, LAST) int p;", in TEST_F()
309 "@property(LAST, readwrite) int p;", Style); in TEST_F()
310 verifyFormat("@property(getter, LAST) int p;", in TEST_F()
311 "@property(LAST, getter) int p;", Style); in TEST_F()
312 verifyFormat("@property(setter, LAST) int p;", in TEST_F()
313 "@property(LAST, setter) int p;", Style); in TEST_F()
314 verifyFormat("@property(nullable, LAST) int p;", in TEST_F()
315 "@property(LAST, nullable) int p;", Style); in TEST_F()
316 verifyFormat("@property(nonnull, LAST) int p;", in TEST_F()
317 "@property(LAST, nonnull) int p;", Style); in TEST_F()
318 verifyFormat("@property(null_resettable, LAST) int p;", in TEST_F()
319 "@property(LAST, null_resettable) int p;", Style); in TEST_F()
320 verifyFormat("@property(null_unspecified, LAST) int p;", in TEST_F()
321 "@property(LAST, null_unspecified) int p;", Style); in TEST_F()
323 verifyFormat("@property(FIRST, class) int p;", in TEST_F()
324 "@property(class, FIRST) int p;", Style); in TEST_F()
325 verifyFormat("@property(FIRST, direct) int p;", in TEST_F()
326 "@property(direct, FIRST) int p;", Style); in TEST_F()
327 verifyFormat("@property(FIRST, atomic) int p;", in TEST_F()
328 "@property(atomic, FIRST) int p;", Style); in TEST_F()
329 verifyFormat("@property(FIRST, nonatomic) int p;", in TEST_F()
330 "@property(nonatomic, FIRST) int p;", Style); in TEST_F()
331 verifyFormat("@property(FIRST, assign) int p;", in TEST_F()
332 "@property(assign, FIRST) int p;", Style); in TEST_F()
333 verifyFormat("@property(FIRST, retain) int p;", in TEST_F()
334 "@property(retain, FIRST) int p;", Style); in TEST_F()
335 verifyFormat("@property(FIRST, strong) int p;", in TEST_F()
336 "@property(strong, FIRST) int p;", Style); in TEST_F()
337 verifyFormat("@property(FIRST, copy) int p;", "@property(copy, FIRST) int p;", in TEST_F()
339 verifyFormat("@property(FIRST, weak) int p;", "@property(weak, FIRST) int p;", in TEST_F()
341 verifyFormat("@property(FIRST, unsafe_unretained) int p;", in TEST_F()
342 "@property(unsafe_unretained, FIRST) int p;", Style); in TEST_F()
343 verifyFormat("@property(FIRST, readonly) int p;", in TEST_F()
344 "@property(readonly, FIRST) int p;", Style); in TEST_F()
345 verifyFormat("@property(FIRST, readwrite) int p;", in TEST_F()
346 "@property(readwrite, FIRST) int p;", Style); in TEST_F()
347 verifyFormat("@property(FIRST, getter) int p;", in TEST_F()
348 "@property(getter, FIRST) int p;", Style); in TEST_F()
349 verifyFormat("@property(FIRST, setter) int p;", in TEST_F()
350 "@property(setter, FIRST) int p;", Style); in TEST_F()
351 verifyFormat("@property(FIRST, nullable) int p;", in TEST_F()
352 "@property(nullable, FIRST) int p;", Style); in TEST_F()
353 verifyFormat("@property(FIRST, nonnull) int p;", in TEST_F()
354 "@property(nonnull, FIRST) int p;", Style); in TEST_F()
355 verifyFormat("@property(FIRST, null_resettable) int p;", in TEST_F()
356 "@property(null_resettable, FIRST) int p;", Style); in TEST_F()
357 verifyFormat("@property(FIRST, null_unspecified) int p;", in TEST_F()
358 "@property(null_unspecified, FIRST) int p;", Style); in TEST_F()
360 verifyFormat("@property(FIRST, class, LAST) int p;", in TEST_F()
361 "@property(LAST, class, FIRST) int p;", Style); in TEST_F()
362 verifyFormat("@property(FIRST, direct, LAST) int p;", in TEST_F()
363 "@property(LAST, direct, FIRST) int p;", Style); in TEST_F()
364 verifyFormat("@property(FIRST, atomic, LAST) int p;", in TEST_F()
365 "@property(LAST, atomic, FIRST) int p;", Style); in TEST_F()
366 verifyFormat("@property(FIRST, nonatomic, LAST) int p;", in TEST_F()
367 "@property(LAST, nonatomic, FIRST) int p;", Style); in TEST_F()
368 verifyFormat("@property(FIRST, assign, LAST) int p;", in TEST_F()
369 "@property(LAST, assign, FIRST) int p;", Style); in TEST_F()
370 verifyFormat("@property(FIRST, retain, LAST) int p;", in TEST_F()
371 "@property(LAST, retain, FIRST) int p;", Style); in TEST_F()
372 verifyFormat("@property(FIRST, strong, LAST) int p;", in TEST_F()
373 "@property(LAST, strong, FIRST) int p;", Style); in TEST_F()
374 verifyFormat("@property(FIRST, copy, LAST) int p;", in TEST_F()
375 "@property(LAST, copy, FIRST) int p;", Style); in TEST_F()
376 verifyFormat("@property(FIRST, weak, LAST) int p;", in TEST_F()
377 "@property(LAST, weak, FIRST) int p;", Style); in TEST_F()
378 verifyFormat("@property(FIRST, unsafe_unretained, LAST) int p;", in TEST_F()
379 "@property(LAST, unsafe_unretained, FIRST) int p;", Style); in TEST_F()
380 verifyFormat("@property(FIRST, readonly, LAST) int p;", in TEST_F()
381 "@property(LAST, readonly, FIRST) int p;", Style); in TEST_F()
382 verifyFormat("@property(FIRST, readwrite, LAST) int p;", in TEST_F()
383 "@property(LAST, readwrite, FIRST) int p;", Style); in TEST_F()
384 verifyFormat("@property(FIRST, getter, LAST) int p;", in TEST_F()
385 "@property(LAST, getter, FIRST) int p;", Style); in TEST_F()
386 verifyFormat("@property(FIRST, setter, LAST) int p;", in TEST_F()
387 "@property(LAST, setter, FIRST) int p;", Style); in TEST_F()
388 verifyFormat("@property(FIRST, nullable, LAST) int p;", in TEST_F()
389 "@property(LAST, nullable, FIRST) int p;", Style); in TEST_F()
390 verifyFormat("@property(FIRST, nonnull, LAST) int p;", in TEST_F()
391 "@property(LAST, nonnull, FIRST) int p;", Style); in TEST_F()
392 verifyFormat("@property(FIRST, null_resettable, LAST) int p;", in TEST_F()
393 "@property(LAST, null_resettable, FIRST) int p;", Style); in TEST_F()
394 verifyFormat("@property(FIRST, null_unspecified, LAST) int p;", in TEST_F()
395 "@property(LAST, null_unspecified, FIRST) int p;", Style); in TEST_F()
404 verifyFormat("@property(/* 1 */) int p;", Style); in TEST_F()
405 verifyFormat("@property(/* 1 */ /* 2 */) int p;", Style); in TEST_F()
408 verifyFormat("@property(/* 1 */ a) int p;", Style); in TEST_F()
409 verifyFormat("@property(a /* 2 */) int p;", Style); in TEST_F()
410 verifyFormat("@property(/* 1 */ a /* 2 */) int p;", Style); in TEST_F()
415 verifyFormat("@property(/* before */ b, a) int p;", Style); in TEST_F()
416 verifyFormat("@property(b, /* between */ a) int p;", Style); in TEST_F()
417 verifyFormat("@property(b, a /* after */) int p;", Style); in TEST_F()