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