1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
use strict;
use Test::More (tests => 17);
use Data::Dumper;
BEGIN
{
use_ok("POE::Filter::Stomp");
}
my $message = join(
"\n",
"CONNECTED",
"session: client-290",
"",
"\000",
);
my $filter = POE::Filter::Stomp->new;
for (1..2) {
my @parts = split_message($message . $message);
$filter->get_one_start(\@parts);
for (1..2) {
my $arrayref = $filter->get_one;
my $frame = $arrayref->[0];
ok($frame);
isa_ok($frame, "Net::Stomp::Frame");
is($frame->command, "CONNECTED");
is($frame->headers->{session}, "client-290");
}
}
sub split_message
{
my $message = shift;
my $len = length($message);
my @ret;
while ($len > 0) {
push @ret, substr($message, 0, int(rand($len) + 1), '');
$len = length($message);
}
return @ret;
}
|