Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

60 lines (44 sloc) 1.33 kb
use v6;
use Test;
# These tests are not specified by p6l, But these should be right...
# L<S12/"Attributes">
plan 8;
diag('Test for class attribute initialization');
{
class T1 { }
class T2 { }
#?niecza todo
eval-lives-ok 'use MONKEY-TYPING; augment class T1 { has $.t = 1 }; 1',
"Try to initialize public attribute";
#?niecza todo
eval-lives-ok q'
use MONKEY-TYPING;
augment class T2 {
has $!t = 2;
method get { $!t };
}; 1 }',
"Try to initialize private attribute";
my T1 $o1;
my T2 $o2;
$o1 = T1.new();
$o2 = T2.new();
#?niecza skip 'Unable to resolve method t in class T1'
is $o1.t, 1,
"Testing value for initialized public attribute.";
dies-ok { $o2.t },
"Try to access the initialized private attribute.";
#?niecza todo
is try { $o2.get }, 2,
"Testing value for initialized private attribue.";
$o1 = T1.new( t => 3 );
$o2 = T2.new( t => 4 );
#?niecza skip 'Unable to resolve method t in class T1'
is $o1.t, 3,
"Testing value for attributes which is initialized by constructor.";
dies-ok { $o2.t },
"Try to access the private attribute which is initialized by constructor.";
#?niecza todo
is try { $o2.get }, 4,
"Testing value for private attribue which is initialized by constructor.";
}
# vim: ft=perl6
Jump to Line
Something went wrong with that request. Please try again.