|
@@ -5,14 +5,14 @@ use warnings;
|
|
|
use Test::More;
|
|
use Test::More;
|
|
|
use Test::Warn;
|
|
use Test::Warn;
|
|
|
use Test::Fatal;
|
|
use Test::Fatal;
|
|
|
|
|
+use Time::Mock throttle => 100;
|
|
|
use Selenium::Waiter;
|
|
use Selenium::Waiter;
|
|
|
|
|
|
|
|
-
|
|
|
|
|
SIMPLE_WAIT: {
|
|
SIMPLE_WAIT: {
|
|
|
my $ret;
|
|
my $ret;
|
|
|
- waits_ok( sub { $ret = wait_until { 1 } }, '<', 2, 'immediately true returns quickly' );
|
|
|
|
|
|
|
+ waits_ok( sub { $ret = wait_until { 1 } }, '<', 5, 'immediately true returns quickly' );
|
|
|
ok($ret == 1, 'return value for a true wait_until is passed up');
|
|
ok($ret == 1, 'return value for a true wait_until is passed up');
|
|
|
- waits_ok( sub { $ret = wait_until { 0 } timeout => 3 }, '>', 2, 'never true expires the timeout' );
|
|
|
|
|
|
|
+ waits_ok( sub { $ret = wait_until { 0 } }, '>', 25, 'never true expires the timeout' );
|
|
|
ok($ret eq '', 'return value for a false wait is an empty string');
|
|
ok($ret eq '', 'return value for a false wait is an empty string');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -23,10 +23,10 @@ EVENTUALLY: {
|
|
|
$ret = 0;
|
|
$ret = 0;
|
|
|
my %opts = ( interval => 2, timeout => 5 );
|
|
my %opts = ( interval => 2, timeout => 5 );
|
|
|
waits_ok(
|
|
waits_ok(
|
|
|
- sub { wait_until { $ret++; 0 } %opts }, '>', 5,
|
|
|
|
|
|
|
+ sub { wait_until { $ret++; 0 } %opts }, '>', 4,
|
|
|
'timeout is respected'
|
|
'timeout is respected'
|
|
|
);
|
|
);
|
|
|
- ok($ret == 3, 'interval option changes iteration speed');
|
|
|
|
|
|
|
+ ok(1 <= $ret && $ret <= 3, 'interval option changes iteration speed');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
EXCEPTIONS: {
|
|
EXCEPTIONS: {
|
|
@@ -34,6 +34,8 @@ EXCEPTIONS: {
|
|
|
warning_is { wait_until { die 'caught!' } %opts } 'caught!',
|
|
warning_is { wait_until { die 'caught!' } %opts } 'caught!',
|
|
|
'exceptions usually only warn once';
|
|
'exceptions usually only warn once';
|
|
|
|
|
|
|
|
|
|
+ # This test is flaky when accelerated, so let's slow it down.
|
|
|
|
|
+ Time::Mock->throttle(1);
|
|
|
my %debug = ( debug => 1, %opts );
|
|
my %debug = ( debug => 1, %opts );
|
|
|
warnings_are { wait_until { die 'caught!' } %debug } ['caught!', 'caught!'],
|
|
warnings_are { wait_until { die 'caught!' } %debug } ['caught!', 'caught!'],
|
|
|
'exceptions warn repreatedly when in debug mode';
|
|
'exceptions warn repreatedly when in debug mode';
|