summaryrefslogtreecommitdiff
path: root/dist/bignum/t/scope_i.t
blob: 4e2f1e6e7f7f663d0b2266fd6680725f662ffa54 (plain)
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
#!/usr/bin/perl -w

###############################################################################
# Test "no bigint;" and overloading of hex()/oct() for newer Perls

use Test::More;
use strict;

BEGIN
  {
  $| = 1;
  chdir 't' if -d 't';
  unshift @INC, '../lib';
  plan tests => 10;
  }

# no :hex and :oct means these do not get overloaded for older Perls:
use bigint;

isnt (ref(1), '', 'is in effect');
isnt (ref(2.0), '', 'is in effect');
isnt (ref(0x20), '', 'is in effect');

SKIP: {
  skip ('Need at least Perl v5.9.4', 2) if $] < "5.009004";	# quote due to "use bigint;"

  is (ref(hex(9)), 'Math::BigInt', 'hex is overloaded');
  is (ref(oct(07)), 'Math::BigInt', 'oct is overloaded');
  }

{
  no bigint;

  is (ref(1), '', 'is not in effect');
  is (ref(2.0), '', 'is not in effect');
  is (ref(0x20), '', 'is not in effect');

  isnt (ref(hex(9)), 'Math::BigInt', 'hex is not overloaded');
  isnt (ref(oct(07)), 'Math::BigInt', 'oct is not overloaded');

}