diff options
Diffstat (limited to '')
-rw-r--r-- | tests/HTTPTest.pm | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/HTTPTest.pm b/tests/HTTPTest.pm new file mode 100644 index 0000000..6225c7f --- /dev/null +++ b/tests/HTTPTest.pm @@ -0,0 +1,56 @@ +package HTTPTest; + +use strict; +use warnings; + +use HTTPServer; +use WgetTests; + +our @ISA = qw(WgetTest); +my $VERSION = 0.01; + +{ + my %_attr_data = ( # DEFAULT + ); + + sub _default_for + { + my ($self, $attr) = @_; + return $_attr_data{$attr} if exists $_attr_data{$attr}; + return $self->SUPER::_default_for($attr); + } + + sub _standard_keys + { + my ($self) = @_; + ($self->SUPER::_standard_keys(), keys %_attr_data); + } +} + +sub _setup_server +{ + my $self = shift; + $self->{_server} = HTTPServer->new(LocalAddr => 'localhost', + ReuseAddr => 1) + or die "Cannot create server!!!"; +} + +sub _launch_server +{ + my $self = shift; + my $synch_func = shift; + + $self->{_server}->run($self->{_input}, $synch_func); +} + +sub _substitute_port +{ + my $self = shift; + my $ret = shift; + $ret =~ s/\Q{{port}}/$self->{_server}->sockport/eg; + return $ret; +} + +1; + +# vim: et ts=4 sw=4 |