File: 03_huge.t

package info (click to toggle)
libpoe-filter-stomp-perl 0.04-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch, wheezy
  • size: 104 kB
  • ctags: 10
  • sloc: perl: 135; makefile: 2
file content (51 lines) | stat: -rw-r--r-- 1,028 bytes parent folder | download | duplicates (3)
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
44
45
46
47
48
49
50
51
use strict;
use Test::More (tests => 21);

BEGIN
{
    use_ok("POE::Filter::Stomp");
}

# This is bigger
my $body = join(
    "\n",
    ("0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz") x 2000
);

my $count = 1;
my $message = join(
    "\n",
    "MESSAGE",
    "destination: /queue/foo",
    "",
    "$body\000",
);
my $filter = POE::Filter::Stomp->new;

for (1..2) {
    my @parts = split_message($message . "\n". $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, "MESSAGE");
	    is($frame->headers->{destination}, "/queue/foo");
        is($frame->body, $body);
    }
}

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;
}