xref: /openbsd-src/gnu/usr.bin/perl/cpan/bignum/t/scope-bigint.t (revision 256a93a44f36679bee503f12e49566c2183f6181)
1*256a93a4Safresh1# -*- mode: perl; -*-
2*256a93a4Safresh1
3*256a93a4Safresh1###############################################################################
4*256a93a4Safresh1# Test "no bigint;" and overloading of hex()/oct() for newer Perls
5*256a93a4Safresh1
6*256a93a4Safresh1use strict;
7*256a93a4Safresh1use warnings;
8*256a93a4Safresh1
9*256a93a4Safresh1use Test::More tests => 10;
10*256a93a4Safresh1
11*256a93a4Safresh1# no :hex and :oct means these do not get overloaded for older Perls:
12*256a93a4Safresh1use bigint;
13*256a93a4Safresh1
14*256a93a4Safresh1isnt(ref(1),    '', 'is in effect');
15*256a93a4Safresh1isnt(ref(2.0),  '', 'is in effect');
16*256a93a4Safresh1isnt(ref(0x20), '', 'is in effect');
17*256a93a4Safresh1
18*256a93a4Safresh1SKIP: {
19*256a93a4Safresh1    # Quote numbers due to "use bigint;"
20*256a93a4Safresh1    skip('Need at least Perl v5.9.4', "2") if $] < "5.009004";
21*256a93a4Safresh1
22*256a93a4Safresh1    is(ref(hex(9)),  'Math::BigInt', 'hex is overloaded');
23*256a93a4Safresh1    is(ref(oct(07)), 'Math::BigInt', 'oct is overloaded');
24*256a93a4Safresh1}
25*256a93a4Safresh1
26*256a93a4Safresh1{
27*256a93a4Safresh1    no bigint;
28*256a93a4Safresh1
29*256a93a4Safresh1    is(ref(1),    '', 'is not in effect');
30*256a93a4Safresh1    is(ref(2.0),  '', 'is not in effect');
31*256a93a4Safresh1    is(ref(0x20), '', 'is not in effect');
32*256a93a4Safresh1
33*256a93a4Safresh1    is(ref(hex(9)),  '', 'hex is not overloaded');
34*256a93a4Safresh1    is(ref(oct(07)), '', 'oct is not overloaded');
35*256a93a4Safresh1}
36