This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Rename ext/Devel/DProf to ext/Devel-DProf
[perl5.git] / ext / Devel / PPPort / t / SvPV.t
1 ################################################################################
2 #
3 #            !!!!!   Do NOT edit this file directly!   !!!!!
4 #
5 #            Edit mktests.PL and/or parts/inc/SvPV instead.
6 #
7 #  This file was automatically generated from the definition files in the
8 #  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
9 #  works, please read the F<HACKERS> file that came with this distribution.
10 #
11 ################################################################################
12
13 BEGIN {
14   if ($ENV{'PERL_CORE'}) {
15     chdir 't' if -d 't';
16     @INC = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';
17     require Config; import Config;
18     use vars '%Config';
19     if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
20       print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
21       exit 0;
22     }
23   }
24   else {
25     unshift @INC, 't';
26   }
27
28   sub load {
29     eval "use Test";
30     require 'testutil.pl' if $@;
31   }
32
33   if (47) {
34     load();
35     plan(tests => 47);
36   }
37 }
38
39 use Devel::PPPort;
40 use strict;
41 $^W = 1;
42
43 package Devel::PPPort;
44 use vars '@ISA';
45 require DynaLoader;
46 @ISA = qw(DynaLoader);
47 bootstrap Devel::PPPort;
48
49 package main;
50
51 my $mhx = "mhx";
52
53 ok(&Devel::PPPort::SvPVbyte($mhx), 3);
54
55 my $i = 42;
56
57 ok(&Devel::PPPort::SvPV_nolen($mhx), $i++);
58 ok(&Devel::PPPort::SvPV_const($mhx), $i++);
59 ok(&Devel::PPPort::SvPV_mutable($mhx), $i++);
60 ok(&Devel::PPPort::SvPV_flags($mhx), $i++);
61 ok(&Devel::PPPort::SvPV_flags_const($mhx), $i++);
62
63 ok(&Devel::PPPort::SvPV_flags_const_nolen($mhx), $i++);
64 ok(&Devel::PPPort::SvPV_flags_mutable($mhx), $i++);
65 ok(&Devel::PPPort::SvPV_force($mhx), $i++);
66 ok(&Devel::PPPort::SvPV_force_nolen($mhx), $i++);
67 ok(&Devel::PPPort::SvPV_force_mutable($mhx), $i++);
68
69 ok(&Devel::PPPort::SvPV_force_nomg($mhx), $i++);
70 ok(&Devel::PPPort::SvPV_force_nomg_nolen($mhx), $i++);
71 ok(&Devel::PPPort::SvPV_force_flags($mhx), $i++);
72 ok(&Devel::PPPort::SvPV_force_flags_nolen($mhx), $i++);
73 ok(&Devel::PPPort::SvPV_force_flags_mutable($mhx), $i++);
74
75 ok(&Devel::PPPort::SvPV_nolen_const($mhx), $i++);
76 ok(&Devel::PPPort::SvPV_nomg($mhx), $i++);
77 ok(&Devel::PPPort::SvPV_nomg_const($mhx), $i++);
78 ok(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), $i++);
79
80 $mhx = 42; ok(&Devel::PPPort::SvPV_nolen($mhx), 0);
81 $mhx = 42; ok(&Devel::PPPort::SvPV_const($mhx), 2);
82 $mhx = 42; ok(&Devel::PPPort::SvPV_mutable($mhx), 2);
83 $mhx = 42; ok(&Devel::PPPort::SvPV_flags($mhx), 2);
84 $mhx = 42; ok(&Devel::PPPort::SvPV_flags_const($mhx), 2);
85
86 $mhx = 42; ok(&Devel::PPPort::SvPV_flags_const_nolen($mhx), 0);
87 $mhx = 42; ok(&Devel::PPPort::SvPV_flags_mutable($mhx), 2);
88 $mhx = 42; ok(&Devel::PPPort::SvPV_force($mhx), 2);
89 $mhx = 42; ok(&Devel::PPPort::SvPV_force_nolen($mhx), 0);
90 $mhx = 42; ok(&Devel::PPPort::SvPV_force_mutable($mhx), 2);
91
92 $mhx = 42; ok(&Devel::PPPort::SvPV_force_nomg($mhx), 2);
93 $mhx = 42; ok(&Devel::PPPort::SvPV_force_nomg_nolen($mhx), 0);
94 $mhx = 42; ok(&Devel::PPPort::SvPV_force_flags($mhx), 2);
95 $mhx = 42; ok(&Devel::PPPort::SvPV_force_flags_nolen($mhx), 0);
96 $mhx = 42; ok(&Devel::PPPort::SvPV_force_flags_mutable($mhx), 2);
97
98 $mhx = 42; ok(&Devel::PPPort::SvPV_nolen_const($mhx), 0);
99 $mhx = 42; ok(&Devel::PPPort::SvPV_nomg($mhx), 2);
100 $mhx = 42; ok(&Devel::PPPort::SvPV_nomg_const($mhx), 2);
101 $mhx = 42; ok(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), 0);
102
103 my $str = "";
104 my($s2, $before, $after) = &Devel::PPPort::SvPV_renew($str, 81, "x"x80);
105 ok($str, "x"x80);
106 ok($s2, "x"x80);
107 ok($before < 81);
108 ok($after, 81);
109
110 $str = "x"x400;
111 ($s2, $before, $after) = &Devel::PPPort::SvPV_renew($str, 41, "x"x40);
112 ok($str, "x"x40);
113 ok($s2, "x"x40);
114 ok($before > 41);
115 ok($after, 41);
116