Skip to content

Commit

Permalink
WebSocket handshake test needs to be a little more strict
Browse files Browse the repository at this point in the history
  • Loading branch information
kraih committed Jan 18, 2014
1 parent d0ead41 commit c4d59a6
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions lib/Test/Mojo.pm
Expand Up @@ -316,9 +316,7 @@ sub _request_ok {
local $Test::Builder::Level = $Test::Builder::Level + 1;

# Establish WebSocket connection
my $method = uc $tx->req->method;
if (lc($tx->req->headers->upgrade // '') eq 'websocket') {
$method = 'WebSocket';
$self->{messages} = [];
$self->{finished} = undef;
$self->ua->start(
Expand All @@ -332,15 +330,17 @@ sub _request_ok {
}
);
Mojo::IOLoop->start;

my $desc = encode 'UTF-8', "WebSocket $url";
return $self->_test('ok', $self->tx->is_websocket, $desc);
}

# Perform request
else { $self->tx($self->ua->start($tx)) }

$self->tx($self->ua->start($tx));
my ($err, $code) = $self->tx->error;
my $ok = $self->tx->is_websocket || !$err || $code;
Test::More::diag $err if !$ok && $err;
return $self->_test('ok', $ok, encode('UTF-8', "$method $url"));
Test::More::diag $err if !(my $ok = !$err || $code) && $err;
my $desc = encode 'UTF-8', "@{[uc $tx->req->method]} $url";
return $self->_test('ok', $ok, $desc);
}

sub _test {
Expand Down

0 comments on commit c4d59a6

Please sign in to comment.