Skip to content

Commit

Permalink
test compression edge case
Browse files Browse the repository at this point in the history
  • Loading branch information
kraih committed Feb 2, 2014
1 parent 5ebab41 commit eb127ea
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
4 changes: 2 additions & 2 deletions lib/Test/Mojo.pm
Expand Up @@ -289,13 +289,13 @@ sub _build_ok {
sub _json {
my ($self, $method, $p) = @_;
return Mojo::JSON::Pointer->new->$method(
Mojo::JSON->new->decode(@{$self->message}[1]), $p);
Mojo::JSON->new->decode(@{$self->message // []}[1]), $p);
}

sub _message {
my ($self, $name, $value, $desc) = @_;
local $Test::Builder::Level = $Test::Builder::Level + 1;
my ($type, $msg) = @{$self->message};
my ($type, $msg) = @{$self->message // []};

# Type check
if (ref $value eq 'HASH') {
Expand Down
7 changes: 7 additions & 0 deletions t/mojolicious/websocket_lite_app.t
Expand Up @@ -191,6 +191,13 @@ $t->websocket_ok(
->header_is('Sec-WebSocket-Extensions' => 'permessage-deflate')
->send_ok({binary => 'a' x 1000000})->finished_ok(1009);

# Huge message that doesn't compress very well
my $huge = join '', map { int rand(9) } 1 .. 262144;
$t->websocket_ok(
'/echo' => {'Sec-WebSocket-Extensions' => 'permessage-deflate'})
->send_ok({binary => $huge})->message_ok->message_is({binary => $huge})
->finish_ok;

# JSON roundtrips
$t->websocket_ok('/json')->send_ok({json => {test => 23, snowman => ''}})
->message_ok->json_message_is('' => {test => 24, snowman => ''})
Expand Down

0 comments on commit eb127ea

Please sign in to comment.