Commit | Line | Data |
---|---|---|
e150c453 RS |
1 | #!/usr/bin/perl |
2 | ||
3 | use strict; | |
4 | use warnings; | |
5 | ||
6 | use Test::More; | |
7 | ||
8 | use IO::Socket::IP; | |
9 | ||
10 | my $server = IO::Socket::IP->new( | |
11 | Listen => 1, | |
12 | LocalHost => "127.0.0.1", | |
13 | LocalPort => 0, | |
14 | ) or die "Cannot listen on PF_INET - $!"; | |
15 | ||
16 | my $client = IO::Socket::IP->new( | |
17 | PeerHost => $server->sockhost, | |
18 | PeerPort => $server->sockport, | |
19 | ) or die "Cannot connect on PF_INET - $!"; | |
20 | ||
21 | my $accepted = $server->accept | |
22 | or die "Cannot accept - $!"; | |
23 | ||
24 | my $inet_client = $client->as_inet; | |
25 | ||
26 | isa_ok( $inet_client, "IO::Socket::INET", '->as_inet returns IO::Socket::INET' ); | |
27 | ||
28 | is( $inet_client->fileno, $client->fileno, '->as_inet socket wraps the same fileno' ); | |
29 | ||
30 | undef $client; | |
31 | ||
32 | $accepted->syswrite( "Message\n" ); | |
33 | ||
34 | $inet_client->sysread( my $buffer, 8192 ); | |
35 | is( $buffer, "Message\n", '->as_inet still passes data' ); | |
36 | ||
37 | done_testing; |