* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class FilterChainTest extends TestCase { public function testFilterChain() { $request = new Request(new Uri('/'), 'GET'); $response = new Response(); $chain = new FilterChain(); $chain->on(function(RequestInterface $request, ResponseInterface $response, FilterChainInterface $filterChain){ $request->setAttribute('closure', true); $filterChain->handle($request, $response); }); $chain->on(new TestFilter()); $chain->handle($request, $response); $this->assertSame(true, $request->getAttribute('closure')); $this->assertSame(true, $request->getAttribute('class')); } public function testFilterChainInvalid() { $this->expectException(\InvalidArgumentException::class); $chain = new FilterChain(); $chain->on(new \stdClass()); } } __halt_compiler();----SIGNATURE:----ARidi85XPUOUEGyrIT4I/ck4AV2AsxSGvpykrOe1EAiBDad+x+Zgfn9+eM5AN56xKluCL8oN7186wc3XGfQOASNo/IRWCVI3g2wG33ndoB28+rrWfxH0QjC3gwdje6fXX2V92/XtTXstiEUqLBRPurgPXfQt9CH4kF5Io+rfrhuV87PQQPPI7Vg1obPCnGBVT29ZkzROt+wrPA4YgFsLX9nS9OnRPGxcLHeq7cwQQY/aqwW7NcNVkmLZvGmf0jrpmx3+DC4fllOLzaEduV8ksgSTEZ+EHNOJA7mjTzT3IkE46SutovFjwJQiS456YpnQ93p6DfzKo1+69HWnpPUuj5l+pfX2IwsrxtN39ci3aaSusX5JC0NvccWbJZE+/e6h1JG059kbiNuN5k6BXeHg3K3NcD2On3sqhsGy0NOHTyAa3WkzdK5D9W/UgymHyT1VfE+NofYeAV1Ixf6XP4HlTGoykeznC0fqqHbbeHVRNOzol6F/iF+8J85EddzK27M8WtkWoHgZ3BpmdX6ihjYRoYfc+kx4zp+RWqymx7KOEgMf9ak9n64tHBaDyMg628LMqA/qkDJJMkZ1Ol2x/hlBYrpfjNynlSBeEy+VoQrcKyCd2CYyjiSYmZZa7IR0Wsrq2/kiHITkR9JsaAkUHsI08cOHmhQIGwnUYdns99RLwa8=----ATTACHMENT:----OTIwNDI4NTI3NzcwMzYwNCA1OTEwMDI1NTk2NTQyMTQ1IDY3OTUzMDY2MDE5NTM5MDM=