ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/t/handle/02_write.t
Revision: 1.2
Committed: Sun Apr 27 19:08:38 2008 UTC (16 years, 2 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-3_41, rel-3_4, rel-3_3
Changes since 1.1: +2 -0 lines
Log Message:
*** empty log message ***

File Contents

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