7 use Test
::Depends
qw(VCS::Git::Torrent::PWP::Message);
9 use Test
::More
qw(no_plan);
11 use_ok
("VCS::Git::Torrent::PWP" => "-pwp_constants");
13 ok
(defined >P_PWP_CHOKE
, "imported constants");
14 is
(>P_PWP_CHOKE
, 0, "imported GTP_PWP_CHOKE");
15 is
(>P_PWP_UNCHOKE
, 1, "imported GTP_PWP_UNCHOKE");
16 is
(>P_PWP_PLAY
, 10, "imported GTP_PWP_PLAY");
18 my $choke = VCS
::Git
::Torrent
::PWP
::Message
::Choke
->new;
19 ok
($choke, "make a Choke object");
21 my $wire = $choke->pack;
22 is
(hex_string
($wire), "0000000400000000",
23 "pack - choke encoded OK");
25 is
(length($wire), 8, "pack - choke right size");
27 VCS
::Git
::Torrent
::PWP
->import("pwp_message", "pwp_decode");
29 $choke = &pwp_message
(>P_PWP_CHOKE
);
30 ok
($choke, "Made a CHOKE message with pwp_message()");
31 isa_ok
($choke, "VCS::Git::Torrent::PWP::Message::Choke",
33 eval { &pwp_message
(>P_PWP_CHOKE
, 1) };
34 like
($@
, qr/no arguments/, "CHOKE has no arguments");
36 my $stream = stream
($wire."leftovers");
37 $choke = &pwp_decode
($stream);
38 is
(<$stream>, "leftovers", "ate correct number of bytes");
39 ok
($choke, "Made a CHOKE message with pwp_decode()");
40 isa_ok
($choke, "VCS::Git::Torrent::PWP::Message::Choke",
41 "decoded CHOKE message");