-
Notifications
You must be signed in to change notification settings - Fork 138
/
subclass_with_pir_method.t
83 lines (67 loc) · 1.63 KB
/
subclass_with_pir_method.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#! perl
# Copyright (C) 2001-2006, The Perl Foundation.
# $Id$
use strict;
use warnings;
use lib qw( . lib ../lib ../../lib );
use Test::More;
use Parrot::Test tests => 2;
=head1 NAME
t/dynpmc/subclass_with_pir_method.t - test adding pir methods to dynpmc's PMC
=head1 SYNOPSIS
% prove t/dynpmc/subclass_with_pir_method.t
=head1 DESCRIPTION
Tests the C<PerlString> PMC. Checks pir method execution in a dynpmc and a subclass of the pmc
=cut
# this works
pir_output_is(
<<'CODE', <<'OUTPUT', "subclass with pir method - .loadlib", todo => "PMCs don't obey HLL namespaces" );
.loadlib 'perl_group'
.sub main :main
new $P0, 'PerlString'
$P0.'perl_printhi'()
get_class $P2, 'PerlString'
subclass $P0, $P2, 'NewPerlString'
$P0.'perl_printhi'()
new $P1, 'NewPerlString'
$P1.'perl_printhi'()
.end
.HLL 'Perl'
.loadlib 'perl_group'
.namespace ['PerlString']
.sub 'perl_printhi' :method
print "HI from PerlString\n"
.end
CODE
HI from PerlString
HI from PerlString
HI from PerlString
OUTPUT
pir_output_is(
<<'CODE', <<'OUTPUT', "subclass with pir method - .HLL", todo => "PMCs don't obey HLL namespaces" );
.HLL 'Perl'
.loadlib 'perl_group'
.sub main :main
new $P0, 'PerlString'
$P0.'perl_printhi'()
get_class $P2, 'PerlString'
subclass $P0, $P2, 'NewPerlString'
$P0.'perl_printhi'()
new $P1, 'NewPerlString'
$P1.'perl_printhi'()
.end
.namespace ['PerlString']
.sub 'perl_printhi' :method
print "HI from PerlString\n"
.end
CODE
HI from PerlString
HI from PerlString
HI from PerlString
OUTPUT
# Local Variables:
# mode: cperl
# cperl-indent-level: 4
# fill-column: 100
# End:
# vim: expandtab shiftwidth=4: