ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/t/handle/02_write.t
Revision: 1.1
Committed: Sun Apr 27 16:56:17 2008 UTC (16 years, 2 months ago) by elmex
Content type: application/x-troff
Branch: MAIN
Log Message:
added IO::AnyEvent as AnyEvent::Handle and AnyEvent::Socket, including tests

File Contents

# Content
1 #!perl
2 use strict;
3 use AnyEvent::Handle;
4 use Test::More tests => 2;
5 use Socket;
6
7 my $cv = AnyEvent->condvar;
8
9 socketpair my $rd, my $wr, AF_UNIX, SOCK_STREAM, PF_UNSPEC;
10
11 my $rd_ae = AnyEvent::Handle->new (fh => $rd);
12
13 my $dat = '';
14 my $write_cb_called = 0;
15
16 $rd_ae->read (5132, sub {
17 my ($rd_ae, $data) = @_;
18 $dat = substr $data, 0, 2;
19 $dat .= substr $data, -5;
20 $rd_ae->read (1, sub { $cv->broadcast });
21 });
22
23 my $wr_ae = AnyEvent::Handle->new (fh => $wr);
24
25 $wr_ae->write ("A" x 5000);
26 $wr_ae->write (("X" x 130), sub { $write_cb_called++; });
27 $wr_ae->write ("Y", sub { $write_cb_called++; });
28 $wr_ae->write ("Z");
29 $wr_ae->write (sub { $write_cb_called++; });
30 $wr_ae->write ("A" x 5000);
31 $wr_ae->write (sub { $write_cb_called++ });
32
33 $cv->wait;
34
35 is ($dat, "AAXXXYZ", 'lines were read and written correctly');
36 is ($write_cb_called, 4, 'write callbacks called correctly');