<?php 
 
if (php_sapi_name() != 'cli') { 
    die('Must run from command line'); 
} 
 
error_reporting(E_ALL | E_STRICT); 
ini_set('display_errors', 1); 
ini_set('log_errors', 0); 
ini_set('html_errors', 0); 
 
foreach(array(__DIR__ . '/../vendor', __DIR__ . '/../../../../vendor') as $vendorDir) { 
    if(is_dir($vendorDir)) { 
        require_once $vendorDir . '/autoload.php'; 
        break; 
    } 
} 
 
function test_notify(cli\Notify $notify, $cycle = 1000000, $sleep = null) { 
    for ($i = 0; $i < $cycle; $i++) { 
        $notify->tick(); 
        if ($sleep) usleep($sleep); 
    } 
    $notify->finish(); 
} 
 
function test_notify_msg(cli\Notify $notify, $cycle = 1000000, $sleep = null) { 
    $notify->display(); 
    for ($i = 0; $i < $cycle; $i++) { 
        // Sleep before tick to simulate time-intensive work and give time 
        // for the initial message to display before it is changed 
        if ($sleep) usleep($sleep); 
        $msg = sprintf('  Finished step %d', $i + 1); 
        $notify->tick(1, $msg); 
    } 
    $notify->finish(); 
} 
 
 |