12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php declare(strict_types=1);
- use PHPUnit\Framework\TestCase;
- define('APP_ID', 'test');
- define('BASE_ROOT_PATH', str_replace('/test', '', dirname(__FILE__)));
- require_once(BASE_ROOT_PATH . '/global.php');
- require_once(BASE_CORE_PATH . '/lrlz.php');
- require_once(BASE_ROOT_PATH . '/fooder.php');
- class TestTask extends TestCase
- {
- public static function setUpBeforeClass() : void
- {
- Base::run_util();
- }
- public function testXRange()
- {
- $xrange = function ($start, $end, $step = 1) {
- for ($i = $start; $i <= $end; $i += $step) {
- yield $i;
- }
- };
- $ins = $xrange(1,100);
- var_dump($xrange);
- $type = $ins instanceof Iterator;
- foreach ($xrange(1, 1000000) as $num) {
- Log::record("num={$num}",Log::DEBUG);
- }
- }
- public function testLogger()
- {
- $log = function ($fileName) {
- $fileHandle = fopen($fileName, 'a');
- while (true) {
- fwrite($fileHandle, yield . "\n");
- }
- };
- $logger = $log(__DIR__ . '/log');
- $logger->send('Foo');
- $logger->send('Bar');
- }
- public function testGener()
- {
- $generator = function() {
- $ret = yield 'yield1';
- Log::record($ret,Log::DEBUG);
- $ret = yield 'yield2';
- Log::record($ret,Log::DEBUG);
- };
- $gen = $generator();
- Log::record($gen->current(),Log::DEBUG);
- $ret = $gen->send('ret1');
- Log::record($ret,Log::DEBUG);
- $ret = $gen->send('ret2');
- Log::record($ret,Log::DEBUG);
- //var_dump($gen->send('ret1')); // string(4) "ret1" (the first var_dump in gen)
- // string(6) "yield2" (the var_dump of the ->send() return value)
- // var_dump($gen->send('ret2')); // string(4) "ret2" (again from within gen)
- // NULL (the return value of ->send())
- }
- }
|