1#!./parrot-nqp
2
3# Tests for contextual variables
4
5plan(6);
6
7sub foo() { $*VAR }
8
9{
10    my $*VAR := 'abc';
11    ok($*VAR eq 'abc', 'basic contextual declaration works');
12    ok(foo() eq 'abc', 'called subroutine sees caller $*VAR');
13
14    sub bar() { $*VAR }
15
16    ok(bar() eq 'abc', 'called subroutine sees caller $*VAR');
17
18
19
20    {
21        my $*VAR := 'def';
22        ok( $*VAR eq 'def', 'basic nested contextual works');
23        ok( foo() eq 'def', 'called subroutine sees caller $*VAR');
24        ok( bar() eq 'def', 'called subroutine sees caller not outer');
25    }
26}
27
28
29