use Test::More; use I22r::Translate; use lib 't'; use strict; use warnings; I22r::Translate->config( timeout => 5, 'Test::Backend::Reverser' => { ENABLED => 1, } ); my @r = I22r::Translate->translate_list( src => 'wx', dest => 'yz', delay => 1, text => [ 'text one', 'text two', 'text three', 'text four' ] ); ok(@r == 4); ok(4 == grep(defined, @r), 'results available for all four inputs' ); Test::Backend::Reverser->config( delay => 3 ); @r = I22r::Translate->translate_list( src => 'wx', dest => 'yz', text => [ 'text five', 'text six', 'text seven', 'text eight' ] ); ok(1 <= grep(defined, @r), 'results available for some inputs' ); ok(4 > grep(defined, @r), 'results not available for all inputs' ); ################################################################## no warnings 'once'; %I22r::Translate::config = (); $Test::Backend::Reverser::config = { }; I22r::Translate->config( timeout => 5, 'Test::Backend::Reverser' => { ENABLED => 1, } ); @r = I22r::Translate->translate_list( src => 'wx', dest => 'yz', delay => 1, text => [ 'text one', 'text two', 'text three', 'text four' ] ); ok(@r == 4); ok(4 == grep(defined, @r), 'results available for all four inputs' ); Test::Backend::Reverser->config( delay => 3 ); @r = I22r::Translate->translate_list( src => 'wx', dest => 'yz', text => [ 'text five', 'text six', 'text seven', 'text eight' ] ); ok(1 <= grep(defined, @r), 'results available for some inputs' ); ok(4 > grep(defined, @r), 'results not available for all inputs' ); my @s = I22r::Translate->translate_list( src => 'wx', dest => 'yz', text => [ 'text nine', 'text ten', 'text eleven', 'text twelve' ], timeout => 2 ); ok( 1 <= grep(defined,@s), 'results available for some inputs' ); ok( grep(defined,@r) > grep(defined,@s), 'results available for fewer inputs' ) or diag @r+0,@s+0; done_testing();