Changeset 21147

Show
Ignore:
Timestamp:
07/01/08 22:29:12 (2 months ago)
Author:
moritz
Message:

[spec] updated t/state.t - need more review before moving it to spec/

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • t/var/state.t

    r20490 r21147  
    5252 
    5353# state will first {...} 
     54#?pugs eval "parse error" 
    5455{ 
    5556    my ($a, $b); 
    56     eval ' 
    57         my $gen = { 
    58             state $svar will first { 42 }; 
    59             -> { $svar++ }; 
    60         } 
    61         $a = $gen();    # $svar == 42 
    62         $a(); $a();     # $svar == 44 
    63         $b = $gen()();  # $svar == 44 
    64     '; 
     57    my $gen = { 
     58        state $svar will first { 42 }; 
     59        -> { $svar++ }; 
     60    } 
     61    $a = $gen();    # $svar == 42 
     62    $a(); $a();     # $svar == 44 
     63    $b = $gen()();  # $svar == 44 
    6564 
    6665    is $b, 44, 'state will first {...} works', :todo<feature>; 
     
    7877 
    7978    my $svar_ref = $gen(); 
    80     is $$svar_ref, 44, "reference to a state() var", :todo<bug>; 
     79    #?pugs todo "state bug" 
     80    is $$svar_ref, 44, "reference to a state() var"; 
    8181} 
    8282 
    8383# Anonymous state vars 
    8484# L<http://groups.google.de/group/perl.perl6.language/msg/07aefb88f5fc8429> 
     85#?pugs todo 'anonymous state vars' 
    8586{ 
    8687    # XXX -- currently this is parsed as \&state() 
     
    9293 
    9394    my $svar_ref = $gen();               # $svar == 2 
    94     is try { $$svar_ref }, 2, "anonymous state() vars", :todo<feature>
     95    is try { $$svar_ref }, 2, "anonymous state() vars"
    9596} 
    9697 
    9798# L<http://www.nntp.perl.org/group/perl.perl6.language/20888> 
    9899# ("Re: Declaration and definition of state() vars" from Larry) 
     100#?pugs eval 'Parse error' 
    99101{ 
    100102    my ($a, $b); 
    101     eval ' 
    102         my $gen = { 
    103             (state $svar) = 42; 
    104             my $ret = { $svar++ }; 
    105         }; 
     103    my $gen = { 
     104        (state $svar) = 42; 
     105        my $ret = { $svar++ }; 
     106    }; 
    106107 
    107         $a = $gen();        # $svar == 42 
    108         $a(); $a();         # $svar == 44 
    109         $b = $gen()();      # $svar == 42 
    110     '; 
     108    $a = $gen();        # $svar == 42 
     109    $a(); $a();         # $svar == 44 
     110    $b = $gen()();      # $svar == 42 
    111111    is $b, 42, "state() and parens"; # svar == 43 
    112112}