/** * Method to test add(). * * @return void * * @covers Windwalker\Middleware\Chain\ChainBuilder::add */ public function testAdd() { $builder = new ChainBuilder(); $builder->add(new StubCaesarMiddleware())->add(new StubOthelloMiddleware()); $wares = TestHelper::getValue($builder, 'stack'); $this->assertTrue($wares[0] instanceof StubCaesarMiddleware); $this->assertTrue($wares[1] instanceof StubOthelloMiddleware); }
} class TestB extends Middleware { /** * call * * @return mixed */ public function call() { echo "BBBB\n"; $this->next->call(); echo "BBBB\n"; } } //$a = new TestA; //$b = new TestB; // //$a->setNext($b); //$b->setNext(new CallbackMiddleware( // function($next) // { // echo "CCCC\n"; // echo "CCCC\n"; // } //)); // //$a->call(); $c = new ChainBuilder(); $c->add('TestA')->add(new TestB()); $c->call();