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 Changes Path 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 -0000 1.119 +++ compat.pm 14 Sep 2004 00:04:51 -0000 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 -0000 1.1 +++ apache_module.pm 14 Sep 2004 00:04:51 -0000 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;