Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add test for RT #77596, fudge for rakudo
  • Loading branch information
coke committed Oct 21, 2012
1 parent b73c13b commit 970a119
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions S01-perl-5-integration/basic.t
@@ -1,32 +1,36 @@
use v6;
use Test;
plan 19;
plan 20;

unless (try { eval("1", :lang<perl5>) }) {
skip_rest;
exit;
}

#?rakudo skip ':lang<perl5>'
{
my $r = eval("0", :lang<perl5>);
is($r, 0, "number");
}

#?rakudo skip ':lang<perl5>'
{
my $r = eval("2", :lang<perl5>);
is($r, 2, "number");
}

#?rakudo skip ':lang<perl5>'
{
my $r = eval('"perl6 now"', :lang<perl5>);
is($r, 'perl6 now', "string");
}


#?rakudo emit #
my $p5_dumper = eval('sub {return(wantarray ? @_ : $_[0]); }', :lang<perl5>);

my %h = ( a => 1 );

#?rakudo skip ':lang<perl5>'
{
my $test = '%h.kv received as hash';
my ($k,$v) = $p5_dumper(%h.kv);
Expand All @@ -36,6 +40,7 @@ my %h = ( a => 1 );
}

#?pugs skip 'Cannot cast into Hash'
#?rakudo skip ':lang<perl5>'
{
my $test = '\%h received as hashref';
my %o := $p5_dumper(\%h);
Expand All @@ -46,14 +51,15 @@ my %h = ( a => 1 );
}

#?pugs skip 'Cannot cast into Hash'
#?rakudo skip 'VAR'
{
my $test = q{ (VAR %h)received as hashref };
my %o := $p5_dumper(VAR %h);
is(%o<a>, 1, $test);
}

my @a = <b c d>;

#?rakudo skip ':lang<perl5>'
{
my $test = q{ (@a) received as array };
my @o = $p5_dumper(@a);
Expand All @@ -63,6 +69,7 @@ my @a = <b c d>;
}

#?pugs skip 'todo'
#?rakudo skip ':lang<perl5>'
{
my $test = q{ (\@a) received as arrayref };
my $o = $p5_dumper(\@a);
Expand All @@ -71,6 +78,7 @@ my @a = <b c d>;
}

#?pugs skip 'todo'
#?rakudo skip 'VAR'
{
my $test = q{ (VAR @a) received as arrayref };
my $o = $p5_dumper(VAR @a);
Expand All @@ -80,26 +88,30 @@ my @a = <b c d>;

my $s = 'str';

#?rakudo skip ':lang<perl5>'
{
my $test = q{ ($s) received as scalar };
my $o = $p5_dumper($s);
is($o, $s, $test);
}

#?rakudo skip ':lang<perl5>'
{
my $test = q{ (\$s) received as scalarref };
my $o = $p5_dumper(\$s);
is($$o, $s, $test);
}

#?pugs skip 'todo'
#?rakudo skip 'VAR'
{
my $test = q{ (VAR $s) received as scalarref };
my $o = $p5_dumper(VAR $s);
is($$o, $s, $test);
}

#?pugs skip 'Invalid ctx: 2'
#?rakudo skip ':lang<perl5>'
{
my $test = q{ (&p6func) Passing a Perl 6 coderef to Perl 5 };

Expand All @@ -114,6 +126,9 @@ sub add_in_perl5 ($x, $y) {
$x + $y;
}

eval_lives_ok("{use v5;}", "RT #77596 - use v5 in a block lives");

is(add_in_perl5(42, 42), 84, 'Defining subroutines with "use v5" blocks');


# vim: ft=perl6

0 comments on commit 970a119

Please sign in to comment.