]> git.vpit.fr Git - perl/modules/Sub-Op.git/commitdiff
Test monkeypatching
authorVincent Pit <vince@profvince.com>
Sun, 3 Jan 2010 16:24:31 +0000 (17:24 +0100)
committerVincent Pit <vince@profvince.com>
Sun, 3 Jan 2010 16:24:31 +0000 (17:24 +0100)
MANIFEST
t/21-monkeypatch.t [new file with mode: 0644]

index 9df334e334f6867ba3f5184ebdbdf26e62102495..e5142fdc218a823ddbe55db8e491da2476430740 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -12,6 +12,7 @@ samples/try.pl
 t/10-base.t
 t/11-existing.t
 t/20-deparse.t
+t/21-monkeypatch.t
 t/91-pod.t
 t/92-pod-coverage.t
 t/95-portability-files.t
diff --git a/t/21-monkeypatch.t b/t/21-monkeypatch.t
new file mode 100644 (file)
index 0000000..faaf83a
--- /dev/null
@@ -0,0 +1,45 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+BEGIN {
+ if (exists $INC{'B.pm'} or exists $INC{'B/Deparse.pm'}) {
+  plan skip_all => 'Test::More loaded B or B::Deparse for some reason';
+ } else {
+  plan tests => 5;
+ }
+}
+
+use Sub::Op;
+
+BEGIN {
+ is_deeply [ sort keys %B:: ], [ sort
+  qw/OP:: Deparse:: Hooks::/,
+  qw/OPf_STACKED/,
+  qw/svref_2object/,
+ ], 'No extra symbols in B::';
+ is_deeply [ sort keys %B::Deparse:: ], [ sort
+  qw/null pp_entersub/
+ ], 'No extra symbols in B::Deparse';
+}
+
+use B;
+
+BEGIN {
+ for my $meth (qw/first can/) {
+  ok do { no strict 'refs'; defined &{"B::OP::$meth"} },
+                                      "B::OP::$meth is now defined";
+ }
+}
+
+use B::Deparse;
+
+BEGIN {
+ for my $meth (qw/pp_custom/) {
+  ok do { no strict 'refs'; defined &{"B::Deparse::$meth"} },
+                                      "B::Deparse::$meth is now defined";
+ }
+}