This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add tests for IVdf, UVuf, IV_MAX and UV_MAX
[perl5.git] / dist / Devel-PPPort / t / format.t
1 ################################################################################
2 #
3 #            !!!!!   Do NOT edit this file directly!   !!!!!
4 #
5 #            Edit mktests.PL and/or parts/inc/format 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 (5) {
34     load();
35     plan(tests => 5);
36   }
37 }
38
39 use Devel::PPPort;
40 use strict;
41 BEGIN { $^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 use Config;
52
53 my $num = 1.12345678901234567890;
54
55 eval { Devel::PPPort::croak_NVgf($num) };
56 ok($@ =~ /^1.1234567890/);
57
58 ok(Devel::PPPort::sprintf_iv(-8), 'XX_-8_XX');
59 ok(Devel::PPPort::sprintf_uv(15), 'XX_15_XX');
60
61 my $ivsize = $Config::Config{ivsize};
62 my $ivmax = ($ivsize == 4) ? '2147483647' : ($ivsize == 8) ? '9223372036854775807' : 0;
63 my $uvmax = ($ivsize == 4) ? '4294967295' : ($ivsize == 8) ? '18446744073709551615' : 0;
64 if ($ivmax == 0) {
65     skip 'skip: unknown ivsize', 0 for 1..2;
66 } else {
67     ok(Devel::PPPort::sprintf_ivmax(), $ivmax);
68     ok(Devel::PPPort::sprintf_uvmax(), $uvmax);
69 }
70