@@ -334,9 +334,11 @@ class AliasesFlag(IntFlagProperties):
334
334
A = 1 << 0 , "a"
335
335
B = 1 << 1 , "b"
336
336
C = 1 << 2 , "c"
337
+
337
338
AB = A | B , "ab"
338
339
BC = B | C , "bc"
339
340
ABC = A | B | C , "abc"
341
+
340
342
AA = A , "aa"
341
343
BB = B , "bb"
342
344
@@ -436,13 +438,19 @@ class AliasesFlag(FlagChoices):
436
438
A = 1 << 0 , "a"
437
439
B = 1 << 1 , "b"
438
440
C = 1 << 2 , "c"
439
- AB = A [0 ] | B [0 ], "ab"
440
- BC = B [0 ] | C [0 ], "bc"
441
- ABC = A [0 ] | B [0 ] | C [0 ], "abc"
441
+
442
+ if sys .version_info [:2 ] >= (3 , 14 ):
443
+ AB = A | B , "ab"
444
+ BC = B | C , "bc"
445
+ ABC = A | B | C , "abc"
446
+ else :
447
+ AB = A [0 ] | B [0 ], "ab"
448
+ BC = B [0 ] | C [0 ], "bc"
449
+ ABC = A [0 ] | B [0 ] | C [0 ], "abc"
442
450
443
451
@property
444
452
def not_a_member (self ):
445
- return self .A [ 0 ] | self .B [ 0 ] | self .C [ 0 ]
453
+ return self .A | self .B | self .C
446
454
447
455
self .assertEqual (
448
456
list (members (NoAliasesFlag )),
@@ -470,3 +478,40 @@ def not_a_member(self):
470
478
AliasesFlag .ABC ,
471
479
],
472
480
)
481
+
482
+ class AliasesFlagWithProp (FlagChoices ):
483
+ prop : bool
484
+
485
+ A = 1 << 0 , "a" , False
486
+ B = 1 << 1 , "b" , False
487
+ C = 1 << 2 , "c" , False
488
+
489
+ if sys .version_info [:2 ] >= (3 , 14 ):
490
+ AB = A | B , "ab" , True
491
+ BC = B | C , "bc" , True
492
+ ABC = A | B | C , "abc" , True
493
+ else :
494
+ AB = A [0 ] | B [0 ], "ab" , True
495
+ BC = B [0 ] | C [0 ], "bc" , True
496
+ ABC = A [0 ] | B [0 ] | C [0 ], "abc" , True
497
+
498
+ @property
499
+ def not_a_member (self ):
500
+ return self .A | self .B | self .C
501
+
502
+ self .assertEqual (
503
+ list (members (AliasesFlagWithProp , aliases = False )),
504
+ [AliasesFlagWithProp .A , AliasesFlagWithProp .B , AliasesFlagWithProp .C ],
505
+ )
506
+
507
+ self .assertEqual (
508
+ list (members (AliasesFlagWithProp )),
509
+ [
510
+ AliasesFlagWithProp .A ,
511
+ AliasesFlagWithProp .B ,
512
+ AliasesFlagWithProp .C ,
513
+ AliasesFlagWithProp .AB ,
514
+ AliasesFlagWithProp .BC ,
515
+ AliasesFlagWithProp .ABC ,
516
+ ],
517
+ )
0 commit comments