123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <?php
- namespace React\Promise;
- class FunctionAllTest extends TestCase
- {
- /** @test */
- public function shouldResolveEmptyInput()
- {
- $mock = $this->createCallableMock();
- $mock
- ->expects($this->once())
- ->method('__invoke')
- ->with($this->identicalTo([]));
- all([])
- ->then($mock);
- }
- /** @test */
- public function shouldResolveValuesArray()
- {
- $mock = $this->createCallableMock();
- $mock
- ->expects($this->once())
- ->method('__invoke')
- ->with($this->identicalTo([1, 2, 3]));
- all([1, 2, 3])
- ->then($mock);
- }
- /** @test */
- public function shouldResolvePromisesArray()
- {
- $mock = $this->createCallableMock();
- $mock
- ->expects($this->once())
- ->method('__invoke')
- ->with($this->identicalTo([1, 2, 3]));
- all([resolve(1), resolve(2), resolve(3)])
- ->then($mock);
- }
- /** @test */
- public function shouldResolveSparseArrayInput()
- {
- $mock = $this->createCallableMock();
- $mock
- ->expects($this->once())
- ->method('__invoke')
- ->with($this->identicalTo([null, 1, null, 1, 1]));
- all([null, 1, null, 1, 1])
- ->then($mock);
- }
- /** @test */
- public function shouldRejectIfAnyInputPromiseRejects()
- {
- $mock = $this->createCallableMock();
- $mock
- ->expects($this->once())
- ->method('__invoke')
- ->with($this->identicalTo(2));
- all([resolve(1), reject(2), resolve(3)])
- ->then($this->expectCallableNever(), $mock);
- }
- /** @test */
- public function shouldAcceptAPromiseForAnArray()
- {
- $mock = $this->createCallableMock();
- $mock
- ->expects($this->once())
- ->method('__invoke')
- ->with($this->identicalTo([1, 2, 3]));
- all(resolve([1, 2, 3]))
- ->then($mock);
- }
- /** @test */
- public function shouldResolveToEmptyArrayWhenInputPromiseDoesNotResolveToArray()
- {
- $mock = $this->createCallableMock();
- $mock
- ->expects($this->once())
- ->method('__invoke')
- ->with($this->identicalTo([]));
- all(resolve(1))
- ->then($mock);
- }
- /** @test */
- public function shouldPreserveTheOrderOfArrayWhenResolvingAsyncPromises()
- {
- $mock = $this->createCallableMock();
- $mock
- ->expects($this->once())
- ->method('__invoke')
- ->with($this->identicalTo([1, 2, 3]));
- $deferred = new Deferred();
- all([resolve(1), $deferred->promise(), resolve(3)])
- ->then($mock);
- $deferred->resolve(2);
- }
- }
|