39 lines
1.2 KiB
Perl
Executable File
39 lines
1.2 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use Perlbal::Test;
|
|
use Test::More 'no_plan';
|
|
|
|
use Perlbal;
|
|
use Perlbal::HTTPHeaders;
|
|
eval "use Perlbal::XS::HTTPHeaders;";
|
|
|
|
# classes we will be testing
|
|
my @classes = ('Perlbal::HTTPHeaders');
|
|
push @classes, $Perlbal::XSModules{headers}
|
|
if $Perlbal::XSModules{headers};
|
|
|
|
# verify they work
|
|
foreach my $class (@classes) {
|
|
# basic request, just tests to see if the class is functioning
|
|
my $req = \"GET / HTTP/1.0\r\n\r\n";
|
|
my $c_req = $class->new($req);
|
|
ok($c_req, "basic request - $class");
|
|
|
|
# basic response, same
|
|
my $resp = \"HTTP/1.0 200 OK\r\n\r\n";
|
|
my $c_resp = $class->new($resp, 1);
|
|
ok($c_resp, "basic response - $class");
|
|
|
|
# test for a bug in the XS headers that caused headers with no content
|
|
# to be disconnected from the server
|
|
my $hdr = \"GET / HTTP/1.0\r\nHeader: content\r\nAnother: \r\nSomething:\r\n\r\n";
|
|
my $obj = $class->new($hdr);
|
|
ok($obj, "headers without content 1 - $class");
|
|
is($obj->header('header'), 'content', "headers without content 2 - $class");
|
|
is($obj->header('anoTHER'), '', "headers without content 3 - $class");
|
|
is($obj->header('notthere'), undef, "headers without content 4 - $class");
|
|
}
|
|
|
|
1;
|