Commit | Line | Data |
0d0f8426 |
1 | ################################################################################ |
2 | # |
3 | # !!!!! Do NOT edit this file directly! !!!!! |
4 | # |
5 | # Edit mktests.PL and/or parts/inc/Sv_set instead. |
6 | # |
7 | ################################################################################ |
8 | |
9 | BEGIN { |
10 | if ($ENV{'PERL_CORE'}) { |
11 | chdir 't' if -d 't'; |
12 | @INC = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext'; |
13 | require Config; import Config; |
14 | use vars '%Config'; |
15 | if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) { |
16 | print "1..0 # Skip -- Perl configured without Devel::PPPort module\n"; |
17 | exit 0; |
18 | } |
19 | } |
20 | else { |
21 | unshift @INC, 't'; |
22 | } |
23 | |
c07deaaf |
24 | sub load { |
25 | eval "use Test"; |
26 | require 'testutil.pl' if $@; |
0d0f8426 |
27 | } |
c07deaaf |
28 | |
29 | if (5) { |
30 | load(); |
f2ab5a41 |
31 | plan(tests => 5); |
0d0f8426 |
32 | } |
33 | } |
34 | |
35 | use Devel::PPPort; |
36 | use strict; |
37 | $^W = 1; |
38 | |
236afa0a |
39 | package Devel::PPPort; |
40 | use vars '@ISA'; |
41 | require DynaLoader; |
42 | @ISA = qw(DynaLoader); |
43 | bootstrap Devel::PPPort; |
44 | |
45 | package main; |
46 | |
0d0f8426 |
47 | my $foo = 5; |
48 | ok(&Devel::PPPort::TestSvUV_set($foo, 12345), 42); |
49 | ok(&Devel::PPPort::TestSvPVX_const("mhx"), 43); |
50 | ok(&Devel::PPPort::TestSvPVX_mutable("mhx"), 44); |
51 | |
f2ab5a41 |
52 | my $bar = []; |
53 | |
54 | bless $bar, 'foo'; |
55 | ok($bar->x(), 'foobar'); |
56 | |
57 | Devel::PPPort::TestSvSTASH_set($bar, 'bar'); |
58 | ok($bar->x(), 'hacker'); |
59 | |
60 | package foo; |
61 | |
62 | sub x { 'foobar' } |
63 | |
64 | package bar; |
65 | |
66 | sub x { 'hacker' } |
67 | |