public function testNestedMiddlewareMayInvokeDoneToInvokeNextOfParent()
{
$child = new MiddlewarePipe();
$child->pipe('/', function ($req, $res, $next) {
return $next($req, $res);
});
$this->middleware->pipe(function ($req, $res, $next) {
return $next($req, $res);
});
$this->middleware->pipe('/test', $child);
$triggered = false;
$this->middleware->pipe(function ($req, $res, $next) use(&$triggered) {
$triggered = true;
return $res;
});
$request = new Request([], [], 'http://local.example.com/test', 'GET', 'php://memory');
$result = $this->middleware->__invoke($request, $this->response, $this->createFinalHandler());
$this->assertTrue($triggered);
$this->assertInstanceOf('Zend\\Stratigility\\Http\\Response', $result);
$this->assertSame($this->response, $result->getOriginalResponse());
}