Revision 27809

Date:
2009/07/30 03:37:38
Author:
kyle
Revision Log:
[t/spec] Tests for RT #64102 (enum functional form)
Files:

Legend:

 
Added
 
Removed
 
Modified
  • t/spec/S12-enums/pseudo-functional.t

     
    1 use v6;
    2 use Test;
    3
    4 plan 13;
    5
    6 # L<12/Enums/There's also a pseudo-functional form>
    7
    8 enum day <<:Sun(1) Mon Tue Wed Thu Fri Sat>>;
    9
    10 is day(Tue), day(3), 'day(Tue) same as day(3)';
    11
    12 {
    13 my $today_tue = 'Today' but day(Tue);
    14 my $today_3 = 'Today' but day(3);
    15
    16 is $today_tue, $today_3, 'day(Tue) same as day(3) in variables';
    17 }
    18
    19 my $x = 'Today' but day(Tue);
    20
    21 ok $x ~~ day, 'day(Tue) is a day';
    22 ok $x ~~ Tue, 'day(Tue) is Tue';
    23 ok $x.does(Tue), 'day(Tue).does(Tue)';
    24 ok $x.day == Tue, 'day(Tue) == Tue';
    25 ok day($x) == Tue, 'day(day(Tue)) == Tue';
    26 ok $x.Tue, 'day(Tue).Tue';
    27
    28 ok $x.day != Wed, 'day(Tue) != Wed';
    29
    30 nok $x.does(Wed), '! day(Tue).does(Wed)';
    31 nok $x.Wed, '! day(Tue).does(Wed)';
    32 nok 8.does(day), '8 is not a day';
    33 nok 8 ~~ day, '8 does not match day';