gozer 2004/09/13 17:04:51
Modified:lib/Apache compat.pm
t/response/TestCompat apache_module.pm
Log:
Apache::Module get_config top_module didn't need to be overriden
methods, keep it simple with smart wrappers instead
Revision ChangesPath
1.120 +17 -0 modperl-2.0/lib/Apache/compat.pm
Index: compat.pm
===
RCS file: /home/cvs/modperl-2.0/lib/Apache/compat.pm,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -r1.119 -r1.120
--- compat.pm 13 Sep 2004 23:36:08 - 1.119
+++ compat.pm 14 Sep 2004 00:04:51 - 1.120
@@ -264,6 +264,23 @@
$r;
}
+{
+require Apache::Module;
+my $orig_sub = *Apache::Module::top_module{CODE};
+*Apache::Module::top_module = sub {
+$orig_sub-();
+};
+}
+
+{
+require Apache::Module;
+my $orig_sub = *Apache::Module::get_config{CODE};
+*Apache::Module::get_config = sub {
+shift if $_[0] eq 'Apache::Module';
+$orig_sub-(@_);
+};
+}
+
package Apache::Server;
# XXX: is that good enough? see modperl/src/modules/perl/mod_perl.c:367
our $CWD = Apache::ServerUtil::server_root;
1.2 +0 -6 modperl-2.0/t/response/TestCompat/apache_module.pm
Index: apache_module.pm
===
RCS file: /home/cvs/modperl-2.0/t/response/TestCompat/apache_module.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- apache_module.pm 13 Sep 2004 23:36:08 - 1.1
+++ apache_module.pm 14 Sep 2004 00:04:51 - 1.2
@@ -19,9 +19,7 @@
sub TestCompatApacheModuleParms {
my($self, $parms, $args) = @_;
-Apache::compat::override_mp2_api('Apache::Module::get_config');
my $config = Apache::Module-get_config($self, $parms-server);
-Apache::compat::restore_mp2_api('Apache::Module::get_config');
$config-{data} = $args;
}
@@ -30,14 +28,10 @@
plan $r, tests = 2;
-Apache::compat::override_mp2_api('Apache::Module::top_module');
my $top_module = Apache::Module-top_module();
-Apache::compat::restore_mp2_api('Apache::Module::top_module');
ok t_cmp (ref($top_module), 'Apache::Module');
-Apache::compat::override_mp2_api('Apache::Module::get_config');
my $config = Apache::Module-get_config($self, $r-server);
-Apache::compat::restore_mp2_api('Apache::Module::get_config');
ok t_cmp ($config-{data}, 'Test');
OK;