Example #1
0
 describe('StubbornEventHandler', function ($test) {
     it('->retry()', function ($test) {
         $stubborn = new Stubborn();
         $result = $stubborn->retries(5)->resultHandler(function ($stubborn) {
             $stubborn->retry();
         })->run(function () {
             return array(1, 6, 9);
         });
         expect($stubborn->totalTries())->to->be(6);
         expect($result)->to->be(array(1, 6, 9));
     });
     it('->stop()', function ($test) {
         $stubborn = new Stubborn();
         $result = $stubborn->resultHandler(function ($stubborn) {
             if ($stubborn->retries() == 1) {
                 $stubborn->stop();
             }
             $stubborn->retry();
         })->retries(2)->run(function () {
             return 5;
         });
         expect($stubborn->totalTries())->to->be(2);
         expect($result)->to->be(5);
     });
     it('->staticBackoff()', function ($test) {
         $stubborn = new Stubborn();
         $result = $stubborn->resultHandler(function ($stubborn) {
             if ($stubborn->retries() < $stubborn->maxRetries()) {
                 $stubborn->staticBackoff(1);
             }
         })->retries(2)->run(function () {