summaryrefslogtreecommitdiff
path: root/tests/HTTPTest.pm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/HTTPTest.pm')
-rw-r--r--tests/HTTPTest.pm57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/HTTPTest.pm b/tests/HTTPTest.pm
new file mode 100644
index 0000000..883213d
--- /dev/null
+++ b/tests/HTTPTest.pm
@@ -0,0 +1,57 @@
+package HTTPTest;
+
+use strict;
+use warnings;
+
+use HTTPServer;
+use WgetTest;
+
+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/{{port}}/$self->{_server}->sockport/eg;
+ return $ret;
+}
+
+1;
+
+# vim: et ts=4 sw=4
+