1 | #!perl |
---|
2 | |
---|
3 | # Copyright (C) 2006-2008, The Perl Foundation. |
---|
4 | # $Id: $ |
---|
5 | |
---|
6 | use strict; |
---|
7 | use warnings; |
---|
8 | |
---|
9 | use Test::More; |
---|
10 | use File::Spec; |
---|
11 | |
---|
12 | my $abc_pbc = File::Spec->catfile( '..', '..', 'languages', 'abc', 'abc.pbc' ); |
---|
13 | plan skip_all => "Need to first run make in languages/abc" if not -e $abc_pbc; |
---|
14 | |
---|
15 | plan tests => 6; |
---|
16 | |
---|
17 | use_ok('Parrot::Embed') or exit; |
---|
18 | |
---|
19 | my $module = 'Parrot::Interpreter'; |
---|
20 | my $interp = $module->new(); |
---|
21 | ok( $interp, 'new() should return a valid interpreter' ); |
---|
22 | isa_ok( $interp, $module ); |
---|
23 | |
---|
24 | my $result = eval { $interp->load_file($abc_pbc) }; |
---|
25 | my $except = $@; |
---|
26 | ok( $result, '... returning true if it could load the file' ); |
---|
27 | is( $except, '', '... throwing no exeption if so' ); |
---|
28 | |
---|
29 | my $abc = $interp->find_global( 'main', 'abc::Compiler' ); |
---|
30 | isa_ok( $abc, 'Parrot::PMC' ); |
---|
31 | |
---|
32 | #{ |
---|
33 | # my $pmc = $abc->invoke('PS', 'compile', '2+3'); |
---|
34 | # ok( $pmc, 'invoke() should return a PMC, given that signature' ); |
---|
35 | # is( $pmc->get_string(), 1, 'value returned in the PMC' ); |
---|
36 | #} |
---|
37 | |
---|