Changeset View
Changeset View
Standalone View
Standalone View
src/future/__tests__/FutureIteratorTestCase.php
| <?php | <?php | ||||
| final class FutureIteratorTestCase extends PhutilTestCase { | final class FutureIteratorTestCase extends PhutilTestCase { | ||||
| public function testAddingFuture() { | public function testAddingFuture() { | ||||
| $future1 = new ExecFuture('cat'); | $bin = $this->getSupportExecutable('cat'); | ||||
| $future2 = new ExecFuture('cat'); | |||||
| $future1 = new ExecFuture('php -f %R', $bin); | |||||
| $future2 = new ExecFuture('php -f %R', $bin); | |||||
| $iterator = new FutureIterator(array($future1)); | $iterator = new FutureIterator(array($future1)); | ||||
| $iterator->limit(2); | $iterator->limit(2); | ||||
| $results = array(); | $results = array(); | ||||
| foreach ($iterator as $future) { | foreach ($iterator as $future) { | ||||
| if ($future === $future1) { | if ($future === $future1) { | ||||
| $iterator->addFuture($future2); | $iterator->addFuture($future2); | ||||
| } | } | ||||
| $results[] = $future->resolve(); | $results[] = $future->resolve(); | ||||
| } | } | ||||
| $this->assertEqual(2, count($results)); | $this->assertEqual(2, count($results)); | ||||
| } | } | ||||
| } | } | ||||