summaryrefslogtreecommitdiff
path: root/cpan/Module-Load/t/to_load/TestModule.pm
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2009-09-26 14:41:29 +0100
committerNicholas Clark <nick@ccl4.org>2009-09-26 14:51:33 +0100
commit1ac05d83359ab0b4e03b39df1d104eb71a8437cf (patch)
treeabcc16d42bebc7709de2e2e7d9b4635c3a69be0a /cpan/Module-Load/t/to_load/TestModule.pm
parent2ad3fd79fc9c36127e4a72f731e2784799de0b2f (diff)
downloadperl-1ac05d83359ab0b4e03b39df1d104eb71a8437cf.tar.gz
Move Module::Load from ext/ to cpan/
Diffstat (limited to 'cpan/Module-Load/t/to_load/TestModule.pm')
-rw-r--r--cpan/Module-Load/t/to_load/TestModule.pm31
1 files changed, 31 insertions, 0 deletions
diff --git a/cpan/Module-Load/t/to_load/TestModule.pm b/cpan/Module-Load/t/to_load/TestModule.pm
new file mode 100644
index 0000000000..ffc5ec98f5
--- /dev/null
+++ b/cpan/Module-Load/t/to_load/TestModule.pm
@@ -0,0 +1,31 @@
+package TestModule;
+
+use strict;
+require Exporter;
+use vars qw(@EXPORT @EXPORT_OK @ISA $IMPORTED);
+
+@ISA = qw(Exporter);
+@EXPORT = qw(func2);
+@EXPORT_OK = qw(func1);
+
+### test if import gets called properly
+sub import { $IMPORTED = 1;
+ ### this breaks on 5.8.[45] which have a bug with goto's losing
+ ### arguments in @_. This is the cause of the 0.14 tester failures
+ ### under 5.8.[45]. The bug is NOT in exporter, but core perl:
+ ### http://testers.cpan.org/show/Module-Load.html
+ #goto &Exporter::import;
+
+ ### instead, use the undocumented, but widely used $ExportLevel
+ ### which will make sure we pass all arguments, and even works
+ ### on buggy 5.8.[45]
+ do { local $Exporter::ExportLevel += 1; Exporter::import(@_) }
+ }
+
+sub imported { $IMPORTED; }
+
+sub func1 { return "func1"; }
+
+sub func2 { return "func2"; }
+
+1;