1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
#!/usr/bin/perl
package NetworkBroadcastTest;
use strict;
use warnings;
use QtCore4;
use QtGui4;
use QtTest4;
use Sender;
use lib '../broadcastreceiver';
use Receiver;
use QtCore4::isa qw(Qt::Object);
use QtCore4::slots
private => 1,
initTestCase => [],
getBroadcast =>[];
use Test::More;
sub NEW {
my ($class, $parent) = @_;
$class->SUPER::NEW();
}
sub getBroadcast {
my $sender = this->{sender};
my $receiver = this->{receiver};
my $spy = Qt::SignalSpy( $sender->timer, SIGNAL 'timeout()' );
Qt::Test::keyClick(
$sender->startButton(),
Qt::Key_Enter(),
);
Qt::Test::qWait(3500);
is( scalar @{$spy}, 3, 'Send/Receive datagram count' );
is( $receiver->statusLabel()->text(),
'Received datagram: "Broadcast message 3"',
'Send/Receive datagram' );
}
sub initTestCase {
my $sender = Sender();
$sender->show();
Qt::Test::qWaitForWindowShown( $sender );
this->{sender} = $sender;
my $receiver = Receiver();
$receiver->show();
Qt::Test::qWaitForWindowShown( $receiver );
this->{receiver} = $receiver;
pass( 'Window shown' );
}
package main;
use strict;
use warnings;
use QtCore4;
use QtGui4;
use QtTest4 qw(QTEST_MAIN);
use NetworkBroadcastTest;
use Test::More tests => 3;
exit QTEST_MAIN('NetworkBroadcastTest');
|