This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Move bignum from dist/ to cpan/
[perl5.git] / cpan / bignum / t / scope_r.t
diff --git a/cpan/bignum/t/scope_r.t b/cpan/bignum/t/scope_r.t
new file mode 100644 (file)
index 0000000..5cc2117
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/perl -w
+
+###############################################################################
+# Test "no bigrat;" and overloading of hex()/oct() for newer Perls
+
+use strict;
+use Test::More tests => 10;
+
+# no :hex and :oct means these do not get overloaded for older Perls:
+use bigrat;
+
+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;
+
+  is (ref(hex(9)), 'Math::BigInt', 'hex is overloaded');
+  is (ref(oct(07)), 'Math::BigInt', 'oct is overloaded');
+  }
+
+{
+  no bigrat;
+
+  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');
+}
+