xref: /openbsd-src/gnu/usr.bin/perl/cpan/IO-Socket-IP/t/21as-inet.t (revision 5486feefcc8cb79b19e014ab332cc5dfd05b3b33)
1#!/usr/bin/perl
2
3use v5.14;
4use warnings;
5
6use Test::More;
7
8use IO::Socket::IP;
9
10my $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 - $IO::Socket::errstr";
15
16my $client = IO::Socket::IP->new(
17   PeerHost => $server->sockhost,
18   PeerPort => $server->sockport,
19) or die "Cannot connect on PF_INET - $IO::Socket::errstr";
20
21my $accepted = $server->accept
22   or die "Cannot accept - $!";
23
24my $inet_client = $client->as_inet;
25
26isa_ok( $inet_client, "IO::Socket::INET", '->as_inet returns IO::Socket::INET' );
27
28is( $inet_client->fileno, $client->fileno, '->as_inet socket wraps the same fileno' );
29
30undef $client;
31
32$accepted->syswrite( "Message\n" );
33
34$inet_client->sysread( my $buffer, 8192 );
35is( $buffer, "Message\n", '->as_inet still passes data' );
36
37done_testing;
38